Тест Тьюки после LMM с сохранением контрастов

Я хочу протестировать факторный план 2x3 и сравнить такие переменные.

    library(lme4)
    library(emmeans)
    my.helmert = matrix(c(2, -1, -1, 0, -1, 1), ncol = 2)

    contrasts(Target3$mask) = my.helmert
    contrasts(Target3$length)

Итак, для маски я хочу сравнить первую группу со средним значением двух других групп, а на втором этапе вторую с третьей группой.

Это отлично работает в моем LMM

Target3.2_TT.lmer = lmer(logTotalTime ~ mask*length+ (1+length|Subject) +(1|Trialnum), data = Target3)

Существует значительное взаимодействие между маской и длиной, поэтому я хочу взглянуть на этот эффект и рассчитать апостериорный тест (Турция) следующим образом:

emmeans(Target3.2_TT.lmer, pairwise ~ mask : length)

Это также прекрасно работает с одной проблемой: теперь мои контрасты исчезли. Текст вычисляет различия для всех масок, а не только 1 против 2 и 3 и 2 против 3. Есть ли возможность сохранить мои контрасты в Post hoc тесте?

Вот как выглядят данные:

> dput(Target3)
structure(list(mask = structure(c(2L, 1L, 2L, 3L, 1L, 2L, 3L, 
2L, 1L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 1L, 3L, 1L, 1L, 2L, 3L, 
3L, 2L, 1L, 3L, 2L, 3L, 2L), contrasts = structure(c(2, -1, -1, 
0, -1, 1), .Dim = c(3L, 2L), .Dimnames = list(c("keine Maske", 
"syntaktisch\n korrekt", "syntaktisch \n inkorrekt"), NULL)), .Label = c("keine Maske", 
"syntaktisch\n korrekt", "syntaktisch \n inkorrekt"), class = "factor"), 
    length = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 
    2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 
    2L, 2L, 1L, 1L, 2L, 1L), .Label = c("kurzes \n N+1", "langes\n N+1"
    ), class = "factor"), logTotalTime = c(4.969813299576, 5.37989735354046, 
    5.14166355650266, 5.40717177146012, 5.27299955856375, 5.72358510195238, 
    5.4249500174814, 6.18001665365257, 5.67675380226828, 5.44241771052179, 
    5.66988092298052, 5.04985600724954, 5.78996017089725, 5.03043792139244, 
    5.92958914338989, 5.15329159449778, 6.11146733950268, 5.26269018890489, 
    5.17614973257383, 6.18001665365257, 6.03068526026126, 5.68697535633982, 
    5.17614973257383, 5.19849703126583, 5.29330482472449, 5.89989735358249, 
    5.73979291217923, 5.65599181081985, 5.94017125272043, 5.72031177660741
    )), .Names = c("mask", "length", "logTotalTime"), row.names = c(2L, 
4L, 6L, 8L, 9L, 11L, 13L, 15L, 16L, 18L, 20L, 22L, 27L, 29L, 
31L, 33L, 35L, 37L, 39L, 41L, 42L, 44L, 47L, 49L, 51L, 54L, 55L, 
57L, 59L, 61L), class = "data.frame")

person Laura S    schedule 20.01.2019    source источник
comment
Не могли бы вы предоставить образец Target 3?   -  person NelsonGon    schedule 20.01.2019


Ответы (1)


Ну, если вы спросите о попарных сравнениях, вы получите именно это, а противопоставление Гельмерта — это не то же самое, что парное сравнение. Кроме того, метод Тьюки (не Турции) применяется только к попарным сравнениям, а не к другим типам сопоставлений.

Вот что можно попробовать, что может дать вам то, что вы хотите.

emm = emmeans(Target3.2_TT.lmer, 
    ~ mask | length)
contrast(emm, list(
    c1 = c(2, -1, -1)/2,
    c2 = c(0, 1, -1)),
  adjust = “mvt”)

Это будет работать независимо от того, какая параметризация (т. е. contrasts настройки) использовалась при подгонке модели. Параметризация модели влияет на настройку матрицы модели и интерпретацию коэффициентов, но не влияет на результаты emmeans или его родственников.

person Russ Lenth    schedule 21.01.2019