Тест простых эффектов для несбалансированного смешанного ANOVA в R - PullRequest
0 голосов
/ 06 декабря 2018

Я работаю над Open Stats Lab для факториального ANOVA и опубликовал свой анализ на GitHub .

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

Смешанный дизайн разбалансирован следующим образом:

  1. фактор внутри объекта: Время 1, Время 2;
  2. фактор между субъектами: Условие 1 (обычное; n = 64), Условие 2 (необычное; n = 66).

Я импортировал данные и преобразовал их в длинный формат.

library(broom)
library(car)
library(nlme)
library(tidyverse)

> zhang_long[, 1:4]
# A tibble: 260 x 4
   condition subject_id extra_time extra_rating
   <fct>     <fct>      <fct>             <dbl>
 1 ordinary  1          t1_extra              1
 2 ordinary  2          t1_extra              3
 3 ordinary  3          t1_extra              1
 4 ordinary  4          t1_extra              1
 5 ordinary  5          t1_extra              5
 6 ordinary  6          t1_extra              2
 7 ordinary  7          t1_extra              2
 8 ordinary  8          t1_extra              3
 9 ordinary  9          t1_extra              4
10 ordinary  10         t1_extra              6
# ... with 250 more rows

Поскольку это практическое занятие, я могу проверить свои анализы на соответствие опубликованной статье.Мне удалось вычислить соответствующее F -значение, используя car::Anova и nlme::lme.

# Create linear mixed-effects model
extra_lme <- lme(extra_rating ~ condition*extra_time, random = ~1|subject_id,
                 data = zhang_long)

# Print ANOVA summary using type III sum of squares
options(contrasts = c("contr.sum", "contr.poly"))
Anova(extra_lme, type = "III")

Но теперь я застрял.Как мне провести тест простых эффектов для взаимодействия между временем и условием?

Я попытался поместить данные по условию.

# Split data by condition
ordinary <- zhang_long %>% filter(condition == "ordinary")

# Simple-effects test
Anova(lme(extra_rating ~ extra_time, random = ~1|subject_id, data = ordinary), type = "III")

Это очень приблизило меня к F -значение сообщается в документе, которое F (1, 128) = 39,86 .

Analysis of Deviance Table (Type III tests)

Response: extra_rating
             Chisq Df Pr(>Chisq)    
(Intercept) 610.25  1  < 2.2e-16 ***
extra_time   37.81  1  7.797e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Что я делаю не так?

Я загрузил скрипт и документ Rmarkdown в GitHub .Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...