Повторные измерения ANOVA с lme / lmer в R для двух факторов внутри субъекта


19

Я пытаюсь использовать lmeиз nlmeпакета, чтобы повторить результаты aovдля повторных мер ANOVA. Я сделал это для однофакторного эксперимента с повторными измерениями и для двухфакторного эксперимента с одним фактором между субъектами и одним фактором внутри субъекта, но у меня возникли проблемы с выполнением этого для двухфакторного эксперимента с двумя внутри -субъектные факторы.

Пример показан ниже. Aи Bявляются факторами с фиксированным эффектом и subjectявляется фактором случайного эффекта.

set.seed(1)
d <- data.frame(
    Y = rnorm(48),
    subject = factor(rep(1:12, 4)),
    A = factor(rep(1:2, each=24)),
    B = factor(rep(rep(1:2, each=12), 2)))

summary(aov(Y ~ A*B + Error(subject/(A*B)), data=d))  # Standard repeated measures ANOVA

library(nlme)
# Attempts:
anova(lme(Y ~ A*B, data=d, random = ~ 1 | subject))  # not same as above
anova(lme(Y ~ A*B, data=d, random = ~ 1 | subject/(A+B)))  # gives error

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

Ответы:


15

То, что вам подходит, aovназывается полосчатым графиком, и его сложно подобрать, lmeпотому что subject:Aи subject:Bслучайные эффекты пересекаются.

Ваша первая попытка эквивалентна aov(Y ~ A*B + Error(subject), data=d), которая не включает в себя все случайные эффекты; Ваша вторая попытка - правильная идея, но синтаксис для скрещенных случайных эффектов, использующих lme, очень хитрый.

Используя lmeиз nlmeпакета, код будет

lme(Y ~ A*B, random=list(subject=pdBlocked(list(~1, pdIdent(~A-1), pdIdent(~B-1)))), data=d)

Используя lmerиз lme4пакета, код будет что-то вроде

lmer(Y ~ A*B + (1|subject) + (1|A:subject) + (1|B:subject), data=d)    

Эти темы из R-help могут быть полезны (и, чтобы отдать должное, вот откуда я взял nlmeкод).

http://www.biostat.wustl.edu/archives/html/s-news/2005-01/msg00091.html

http://permalink.gmane.org/gmane.comp.lang.r.lme4.devel/3328

http://www.mail-archive.com/r-help@stat.math.ethz.ch/msg10843.html

Эта последняя ссылка относится к стр.165 Пиньейру / Бейтса; это тоже может быть полезно.

РЕДАКТИРОВАТЬ: также обратите внимание, что в вашем наборе данных, некоторые из компонентов дисперсии являются отрицательными, что не допускается при использовании случайных эффектов с lme, поэтому результаты отличаются. Набор данных со всеми компонентами положительной дисперсии может быть создан с использованием начального числа 8. Результаты затем согласуются. Смотрите этот ответ для деталей.

Также обратите внимание, что lmefrom nlmeне правильно вычисляет степени свободы знаменателя, поэтому F-статистика согласуется, но не p-значения, и lmerfrom lme4тоже не пытается, потому что это очень сложно при наличии неуравновешенных скрещенных случайных эффектов и не может даже быть разумной вещью, чтобы сделать. Но это больше, чем я хочу попасть сюда.


Аарон, я не думаю, что твой лмерский код правильный. aovВызов OP - это просто стандартная схема повторных измерений, которую можно проанализировать с помощью lmer as lmer(Y~A*B+(1|subject)). (Хотя см. Также этот ответ для более сложных моделей, которые позволяют оценивать дисперсию и корреляцию между S-эффектами : stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet/… )
Майк Лоуренс,

4
AOV-вызов OP имеет три случайных эффекта; повторить это с lmerмоим приведенным выше кодом является правильным. Ваш lmerкод имеет только один случайный эффект. То, что правильно, будет зависеть от контекста.
Аарон - Восстановить Монику

Также обратите внимание, что в ответе, на который вы ссылаетесь, нет примеров скрещенных случайных эффектов.
Аарон - Восстановить Монику

6

Ваша первая попытка - правильный ответ, если это все, что вы пытаетесь сделать. nlme () работает между компонентами и внутри них, вам не нужно указывать их.

Проблема, с которой вы сталкиваетесь, заключается не в том, что вы не знаете, как указать модель, а в том, что повторные измерения ANOVA и смешанные эффекты - это не одно и то же. Иногда результаты ANOVA и модели смешанных эффектов будут совпадать. Это особенно актуально, когда вы агрегируете свои данные, как если бы вы делали ANOVA, и вычисляете и то, и другое. Но в целом, если все сделано правильно, хотя выводы могут быть схожими, результаты почти никогда не бывают одинаковыми. Данные вашего примера не похожи на реальные повторяющиеся измерения, где у вас часто есть репликации каждого показателя в S. Когда вы выполняете ANOVA, вы обычно агрегируете эти репликации, чтобы получить оценку эффекта для каждого субъекта. В моделировании смешанных эффектов вы этого не делаете. Вы работаете с необработанными данными. Когда вы делаете это, вы '

[в дополнение, использование lmer () (из пакета lme4) вместо lme () дает мне значения SS и MS, которые точно соответствуют ANOVA для эффектов в вашем примере, просто F отличаются друг от друга]


1
Я считаю, что если все сбалансировано, то результат с использованием смешанной модели (то есть получение оценок с помощью ML или REML) и результат с использованием ANOVA (то есть получение оценок с помощью моментов) будут практически идентичными. Проблема в этом случае заключается в синтаксисе для подбора одной и той же модели с использованием обоих методов.
Аарон - Восстановить Монику

Я не уверен, что вы пытаетесь достичь. Похоже, вы просто пытались научиться копировать результаты, чтобы лучше понять отношения. То, что вы хотите сделать, нельзя сделать с помощью nlme. Я только что посмотрел на lmer, и там тоже это невозможно (хотя, по крайней мере, он сообщает MS о ваших эффектах идентично ANOVA). Если вы хотите результаты ANOVA, просто сделайте ANOVA. С реальными данными, сделанными правильно, эти два почти никогда не будут абсолютно одинаковыми.
Джон

1
Также обратите внимание, что первая попытка неверна, потому что она неправильно учитывает скрещенные случайные эффекты.
Аарон - Восстановить Монику

1
Джон, спасибо за твой ответ. Моя причина для этого заключалась в том, что я где-то на этом сайте читал, что повторные измерения ANOVA, как правило, больше не рекомендуются, причем предпочтительны модели со смешанными эффектами. По какой-то причине у меня сложилось впечатление, что оба метода дадут одинаковые результаты для сбалансированного дизайна, и я пытался это подтвердить.
mark999

Аарон, я воспринял это как правильный ответ на то, что можно считать примерно эквивалентным. Это обычно то, что рекомендуется в качестве первого шага в репликации повторяющихся мер. Здесь нет «правильного», как в идеальном матче. Добавление более случайных эффектов не решит проблему. Я отмечаю, что один из ответов, на которые вы ссылаетесь, рекомендует решение, которое вы написали. Тем не менее, результат ANOVA абсолютно не отличается (модель отличается, но не ANOVA) от того, что я сказал правильно. Я подозреваю, что автор пытался просто соответствовать тому, что спрашивал ОП, но это не разумная модель.
Джон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.