Как конвертировать Afex или модели автомобилей ANOVA в lmer? Наблюдаемые переменные

В afex В пакете мы можем найти этот пример анализа ANOVA:

data(obk.long, package = "afex")
# estimate mixed ANOVA on the full design:
# can be written in any of these ways: 

aov_car(value ~ treatment * gender + Error(id/(phase*hour)), data = obk.long,
        observed = "gender")

aov_4(value ~ treatment * gender + (phase*hour|id), data = obk.long,
        observed = "gender")

aov_ez("id", "value", obk.long, between = c("treatment", "gender"), 
       within = c("phase", "hour"), observed = "gender")

У меня вопрос, как я могу написать ту же модель в lme4? В частности, я не знаю, как включить "наблюдаемый" термин?

Если я просто напишу

lmer(value ~ treatment * gender + (phase*hour|id), data = obk.long,
     observed = "gender")

Я получаю сообщение об ошибке, говорящее, что наблюдаемый вариант недопустим.

Кроме того, если я просто уберу наблюдаемую опцию lmer выдает ошибку:

Ошибка: количество наблюдений (=240) <= количество случайных эффектов (= 240) для термина (фаза * час | идентификатор); параметры случайных эффектов и остаточная дисперсия (или масштабный параметр), вероятно, не могут быть идентифицированы.

Где в синтаксисе lmer я должен указывать переменную между или внутри? Насколько я знаю, вы просто пишете зависимую переменную слева и все остальные переменные справа, а термин ошибки - (1|id).

Пакет "машина" использует idata для внутрисубъектной переменной.

2 ответа

Решение

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

  • observed Аргумент, кажется, имеет отношение только к вычислению величины эффекта.

наблюдаемый: вектор "характер", указывающий, какие из переменных наблюдаются (т.е. измеряются) по сравнению с экспериментально манипулируемыми. Указанный размер эффекта по умолчанию (обобщенный eta-квадрат) требует правильной спецификации наблюдаемых [sic] (в отличие от манипулируемых) переменных.

... так что я думаю, ты будешь в безопасности, оставив это без внимания.

  • если вы хотите переопределить ошибку, вы можете использовать
  control=lmerControl(check.nobs.vs.nRE="ignore")

... но это, вероятно, не правильный путь вперед.

Я думаю, но не уверен, что это правильный путь:

m1 <- lmer(value ~ treatment * gender + (1|id/phase:hour), data = obk.long,
    control=lmerControl(check.nobs.vs.nRE="ignore",
                            check.nobs.vs.nlev="ignore"),
    contrasts=list(treatment=contr.sum,gender=contr.sum))

Это указывает на то, что взаимодействие phase а также hour варьируется в пределах id, Остаточная дисперсия и (фаза за час внутри идентификатора) дисперсия смешаны (вот почему нам нужно переопределение lmerControl() спецификации), поэтому не доверяйте этим конкретным оценкам дисперсии. Тем не менее, основные эффекты лечения и пола должны рассматриваться одинаково. Если вы загружаете lmerTest вместо lmer и беги summary(m1) или же anova(m1) он дает вам те же степени свободы (10) для фиксированных (пол и лечение) эффектов, которые вычисляются afex,

lme дает сопоставимые ответы, но необходимо заранее построить поэтапное взаимодействие:

library(nlme)
obk.long$ph <- with(obk.long,interaction(phase,hour))
m2 <- lme(value ~ treatment * gender,
             random=~1|id/ph, data = obk.long,
    contrasts=list(treatment=contr.sum,gender=contr.sum))
anova(m2,type="marginal")

Я не знаю, как восстановить afexТесты случайных эффектов.

Как правильно говорит Бен Болкер, просто уходи observed из.

Кроме того, я бы не рекомендовал делать то, что вы хотите делать. Использование смешанной модели для набора данных без репликаций в каждой ячейке дизайна для каждого участника несколько сомнительно, так как не совсем понятно, как определить структуру случайных эффектов. Важно отметить, что Барр и соавт. максима "держи его максимальным" здесь не работает, как вы поняли. Проблема заключается в том, что модель перепараметризована (отсюда ошибка из lmer).

Я рекомендую использовать ANOVA. Более подробное обсуждение именно этого вопроса можно найти в перекрестной проверке темы, где мы с Беном обсуждали это более подробно.

Другие вопросы по тегам