промежуточные результаты от emmeans не отражают различия в данных - PullRequest
0 голосов
/ 03 мая 2019

У меня есть данные с тремя факторными переменными:

1.) Item_Type: фактор с 4 уровнями "control", "Ar", "Eng", "Fr"

2.) Время тестирования: коэффициент с 3 уровнями "Pretest", "Posttest", "Delayedtest"

3.) Точность: Коэффициент с 2 уровнями "0", "1"

Item_Type и Time_of Testing находятся в пределах предметных переменных.

Основная гипотеза состоит в том, что в Pretest не будет эффекта Item_Type.Однако в Posttest после прочтения обработки должно произойти увеличение всех сред Item_Type от Pretest до Posttest (после обработки), за исключением элементов управления.То есть этот рост в средствах не должен появляться в элементах управления, потому что эти элементы - единственные элементы, которые не получили какой-либо обработки.Эти элементы управления появляются только на этапе тестирования, чтобы служить базой для сравнения экспериментальных Item_Types.

Я установил свою модель геймера.

Затем я запускаю сравнения.

FINAL_ACC <- glmer(Accuracy ~ Time_of_Testing*Item_Type + (1|subject) + (1|Item), family = "binomial", data=Task_df,  na.action= na.exclude)

emmeans(FINAL_ACC, pairwise ~ Time_of_Testing*Item_Type, adjust= "bonferroni", type= "responce")

Тем не менее, результаты промежуточного анализа показывают, что элементы управления (чьи средства точности на самом деле являются самыми низкими среди всех других типов Item_Types) действительно имеют наименьшее среднее значение.Кроме того, единственное существенное различие в Item_Types между Pretest и Posttest обнаружено среди элементов управления (несмотря на то, что фактическая средняя разница в средних значениях между Pretest и Posttest среди всех других элементов составляет +0,37, а для элементов управления - только +,1),

Я думаю, что проблема в том, что модель не предполагает разницы между всеми элементами в предварительном и последующем тестах, и поэтому установленные значения для элементов управления вводят в заблуждение.Как вы думаете, я должен решить эту проблему.Не могли бы вы посоветовать мне сделать несколько ортогональных контрастов, как я этого не делал, когда запускал тест emmeans?Советую добавить еще одну переменную с именем (обработка, закодированная как 0 для элементов управления и 1 для всех других элементов?)

Я очень ценю вашу любезную помощь и совет.

1 Ответ

0 голосов
/ 04 мая 2019

Как предлагается в комментарии, вам нужна модель, которая предсказывает одно и то же для всех базовых случаев. Я предлагаю это: сначала создайте новый фактор:

Task_df$Phase <- with(Taskdf, 
    factor((Time_Of_Testing == "pretest") + 2*(Time_Of_Testing != "pretest"), 
           labels = c("baseline","experimental")))
Task_df$Item_Type[Task_df$Phase == "baseline"] <- "pretest"

Второй гарантирует, что все базовые случаи имеют одинаковый уровень фактора для Item_Type.

Теперь установите вложенную модель:

ULTIMATE_ACC <- glmer(Accuracy ~ Phase + Phase:(Time_of_Testing * Item_Type) 
    + (1|subject) + (1|Item), 
    family = "binomial", data=Task_df,  na.action= na.exclude)

Тогда сделайте свои EMM:

emm <- emmeans(ULTIMATE_ACC, ~ Time_Of_Testing * Item_Type, type = "response")
emm           ### display estimates
pairs(emm, adjust = "bonferroni")   ### pairwise comparisons

Обратите внимание, что это "response", а не "responce".

Если вы не укажете adjust, вы получите корректировку Тьюки, которая менее консервативна. Вы можете также рассмотреть, например, pairs(emm, by = "Time_Of_Testing"), чтобы сделать отдельные наборы попарных сравнений для каждого уровня одного фактора.

...