Powtarzane pomiary ANOVA z lme / lmer w R dla dwóch czynników wewnętrznych


19

Próbuję użyć lmez nlmepakietu do replikacji wyników aovdla ANOVA z powtarzanymi pomiarami. Zrobiłem to dla eksperymentu z powtarzanymi pomiarami z jednym czynnikiem i dla eksperymentu z dwoma czynnikami z jednym czynnikiem między poddanymi i jednym czynnikiem wewnątrz poddanych, ale mam problem z zrobieniem tego dla eksperymentu z dwoma czynnikami z dwoma wewnątrz -podstawowe czynniki.

Przykład jest pokazany poniżej. Ai Bsą czynnikami o stałym efekcie i są czynnikiem subjecto losowym skutku.

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

Nie mogłem zobaczyć wyjaśnienia tego w książce Pinheiro i Batesa, ale mogłem to przeoczyć.

Odpowiedzi:


15

To, co pasujesz, aovnazywa się fabułą pasków i jest trudne do dopasowania, lmeponieważ efekty losowe subject:Ai subject:Bkrzyżowe są skrzyżowane.

Twoja pierwsza próba jest równoważna aov(Y ~ A*B + Error(subject), data=d), co nie obejmuje wszystkich efektów losowych; twoja druga próba jest właściwym pomysłem, ale składnia skrzyżowanych efektów losowych przy użyciu lme jest bardzo trudna.

Używając lmez nlmepakietu, kod byłby

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

Używając lmerz lme4pakietu, kod byłby podobny

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

Te wątki z R-help mogą być pomocne (i żeby podziękować, nlmestąd mam kod).

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

Ten ostatni link odnosi się do str.165 Pinheiro / Bates; to też może być pomocne.

EDYCJA: Należy również pamiętać, że w posiadanym zestawie danych niektóre komponenty wariancji są ujemne, co nie jest dozwolone przy użyciu losowych efektów z lme, więc wyniki są różne. Zestaw danych ze wszystkimi dodatnimi składnikami wariancji można utworzyć za pomocą zarodka 8. Wyniki są następnie zgodne. Zobacz tę odpowiedź, aby uzyskać szczegółowe informacje.

Zauważ też, że lmefrom nlmenie oblicza poprawnie mianownika stopni swobody, więc statystyki F zgadzają się, ale nie wartości p, i lmerod lme4nie próbuje również, ponieważ jest to bardzo trudne w obecności niezrównoważonych skrzyżowanych efektów losowych i może nie być nawet rozsądnym posunięciem. Ale to więcej, niż chcę się tutaj dostać.


Aaron, nie sądzę, że twój kod lmer jest poprawny. aovWezwanie OP jest po prostu standardowym projektem z powtarzanymi pomiarami, który analizuje się z lmer as lmer(Y~A*B+(1|subject)). (Choć zobacz także tę odpowiedź dla bardziej skomplikowanych modeli, które pozwalają oszacować wariancję efektu i korelację między S : stats.stackexchange.com/questions/13166/rs-lmer-cheat-sheet/… )
Mike Lawrence

4
Wezwanie aov PO ma trzy losowe efekty; replikacja tego przy użyciu lmermojego powyższego kodu jest poprawna. Twój lmerkod ma tylko jeden losowy efekt. To, co jest poprawne, zależy od kontekstu.
Aaron - Przywróć Monikę

Pamiętaj też, że odpowiedź, do której prowadzisz link, nie zawiera żadnych przykładów skrzyżowanych efektów losowych.
Aaron - Przywróć Monikę

6

Twoja pierwsza próba jest prawidłową odpowiedzią, jeśli to wszystko, co próbujesz zrobić. nlme () sprawdza komponenty pomiędzy i wewnątrz, nie musisz ich określać.

Problem, na który napotykasz, nie polega na tym, że nie wiesz, jak określić model, to dlatego, że ANOVA z powtarzanymi pomiarami i mieszane efekty to nie to samo. Czasami wyniki z analizy ANOVA i modelu efektów mieszanych będą do siebie pasować. Jest to szczególnie ważne w przypadku agregowania danych w sposób ANOVA i obliczania obu tych wartości. Ale ogólnie, jeśli wykonane poprawnie, chociaż wnioski mogą być podobne, wyniki prawie nigdy nie są takie same. Twoje przykładowe dane nie są jak rzeczywiste powtarzane miary, w których często masz replikacje każdej miary w S. Gdy wykonujesz ANOVA, zazwyczaj agregujesz w tych replikacjach, aby uzyskać oszacowanie efektu dla każdego pacjenta. W modelowaniu efektów mieszanych nic takiego nie robisz. Pracujesz z surowymi danymi. Kiedy to robisz, ty

[na bok, używając lmer () (z pakietu lme4) zamiast lme () podaj mi wartości SS i MS, które dokładnie pasują do ANOVA dla efektów w twoim przykładzie, po prostu, że F są różne]


1
Uważam, że jeśli wszystko jest zrównoważone, wynik przy użyciu modelu mieszanego (to znaczy uzyskiwanie oszacowań za pomocą ML lub REML), a wynik przy użyciu ANOVA (czyli uzyskiwanie oszacowań z momentami) będzie prawie identyczny. Problemem w tym przypadku jest składnia umożliwiająca dopasowanie tego samego modelu przy użyciu obu metod.
Aaron - Przywróć Monikę

Nie jestem pewien, co próbujesz osiągnąć. Wyglądało to tak, jakbyś tylko próbował nauczyć się replikować wyniki, aby lepiej zrozumieć związek. Tego, co chcesz zrobić, nie można zrobić za pomocą nlme. Właśnie spojrzałem na lmer i tam też nie jest to możliwe (chociaż przynajmniej raportuje stwardnienie rozsiane dla twoich efektów identycznie do ANOVA). Jeśli chcesz wyniki ANOVA, po prostu wykonaj ANOVA. Przy prawdziwych danych, poprawnie wykonanych, te dwa prawie nigdy nie są dokładnie takie same.
John

1
Zauważ też, że pierwsza próba jest nieprawidłowa, ponieważ nie uwzględnia prawidłowo skrzyżowanych efektów losowych.
Aaron - Przywróć Monikę

1
John, dziękuję za twoją odpowiedź. Moim powodem było to, że przeczytałem gdzieś na tej stronie, że powtarzane pomiary ANOVA nie są już na ogół zalecane, preferowane są modele z efektami mieszanymi. Z jakiegoś powodu miałem wrażenie, że te dwie metody dałyby takie same wyniki dla zrównoważonego projektu, i starałem się to potwierdzić.
mark999

Aaron, uznałem to za prawidłową odpowiedź na to, co można by uznać za mniej więcej równoważne. Zwykle jest to zalecane jako pierwszy krok w powielaniu powtarzanych pomiarów. Nie ma „poprawnego”, jak w idealnym dopasowaniu. Dodanie większej liczby losowych efektów nie rozwiąże problemu. Zauważam, że jedna z odpowiedzi, na które się powołujesz, zaleca rozwiązanie, które napisałeś. Jednak nie jest to absolutnie żaden wynik ANOVA (model jest inny, ale nie ANOVA) niż to, co powiedziałem, było poprawne. Podejrzewam, że autor próbował dopasować to, o co prosi OP, ale nie jest to rozsądny model.
John
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.