Неодноразові вимірювання 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 Пінхеро / Бейтс; що теж може бути корисним.

EDIT: Також зауважте, що у вашому наборі даних деякі компоненти дисперсії є негативними, що не дозволено з використанням випадкових ефектів з lme, тому результати відрізняються. Набір даних із усіма позитивними компонентами дисперсії можна створити за допомогою насіння 8. Результати згодні. Детальну інформацію див. У цій відповіді .

Крім того, зверніть увагу , що lmeз nlmeне вирахує знаменник ступенів свободи правильно, так що F-статистика згодна , але не P-значення, і lmerз lme4не намагається теж , тому що це дуже складно при наявності незбалансованих схрещених випадкових ефектів, і не може навіть бути розумною справою. Але це більше, ніж я хочу потрапити сюди.


Аарон, я не думаю, що ваш код lmer є правильним. aovЗаклик ОП - це просто стандартний дизайн повторних заходів, який можна проаналізувати за допомогою lmer as lmer(Y~A*B+(1|subject)). (Хоча див. Також цю відповідь для більш складних моделей, які дозволяють оцінити дисперсію та кореляцію ефектів по всій Ss: 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.