Czy ktoś może mi powiedzieć różnicę między używaniem aov()
i lme()
do analizy danych podłużnych a sposobem interpretacji wyników z tych dwóch metod?
Poniżej analizuję tego samego zestawu danych przy użyciu aov()
i lme()
otrzymał 2 różne wyniki. Z tym aov()
, że uzyskałem znaczący wynik w czasie dzięki interakcji leczenia, ale dopasowując liniowy model mieszany, czas według interakcji leczenia jest nieznaczny.
> UOP.kg.aov <- aov(UOP.kg~time*treat+Error(id), raw3.42)
> summary(UOP.kg.aov)
Error: id
Df Sum Sq Mean Sq F value Pr(>F)
treat 1 0.142 0.1421 0.0377 0.8471
Residuals 39 147.129 3.7725
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
time 1 194.087 194.087 534.3542 < 2e-16 ***
time:treat 1 2.077 2.077 5.7197 0.01792 *
Residuals 162 58.841 0.363
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> UOP.kg.lme <- lme(UOP.kg~time*treat, random=list(id=pdDiag(~time)),
na.action=na.omit, raw3.42)
> summary(UOP.kg.lme)
Linear mixed-effects model fit by REML
Data: raw3.42
AIC BIC logLik
225.7806 248.9037 -105.8903
Random effects:
Formula: ~time | id
Structure: Diagonal
(Intercept) time Residual
StdDev: 0.6817425 0.5121545 0.1780466
Fixed effects: UOP.kg ~ time + treat + time:treat
Value Std.Error DF t-value p-value
(Intercept) 0.5901420 0.1480515 162 3.986059 0.0001
time 0.8623864 0.1104533 162 7.807701 0.0000
treat -0.2144487 0.2174843 39 -0.986042 0.3302
time:treat 0.1979578 0.1622534 162 1.220053 0.2242
Correlation:
(Intr) time treat
time -0.023
treat -0.681 0.016
time:treat 0.016 -0.681 -0.023
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-3.198315285 -0.384858426 0.002705899 0.404637305 2.049705655
Number of Observations: 205
Number of Groups: 41
źródło
Error(Subject/age)
, skoro przejrzałem samouczek, mówiąc, że/age
oznacza to wielokrotne mierzenie tego współczynnika? Czy to to samo co twojeError(Subject)
? Kolejne pytanie brzmi: za niezrównoważonego danych,aov
ilme
może mieć różne wyniki, prawda?Chciałbym tylko dodać, że możesz chcieć zainstalować
car
pakiet i korzystać zAnova()
tego, który zapewnia ten pakiet,anova()
ponieważ zamiast dlaaov()
ilm()
obiektów, waniliaanova()
używa sekwencyjnej sumy kwadratów, co daje zły wynik dla nierównych rozmiarów próbek, podczaslme()
gdy używa albo typu -I lub suma kwadratów typu III w zależności odtype
argumentu, ale suma kwadratów typu III narusza marginesowość - tzn. Traktuje interakcje nie inaczej niż główne efekty.Lista pomocy R nie ma nic dobrego do powiedzenia na temat sum kwadratów typu I i typu III, a jednak są to jedyne opcje! Domyśl.Edycja: W rzeczywistości wygląda na to, że typ II nie jest ważny, jeśli istnieje znaczący termin interakcji, i wydaje się, że najlepiej, co każdy może zrobić, to użyć typu III, gdy występują interakcje. Dowiedziałem się od niego odpowiedzi na jedno z moich pytań, które z kolei skierowały mnie do tego postu .
źródło
Wydaje mi się, że masz wiele miar dla każdego identyfikatora za każdym razem. Musisz je agregować dla aov, ponieważ niesprawiedliwie zwiększa moc w tej analizie. Nie twierdzę, że wykonanie agregacji sprawi, że wyniki będą takie same, ale powinno uczynić je bardziej podobnymi.
Następnie uruchom model aov jak przed zastąpieniem danych dat.agg.
Ponadto uważam, że anova (lme) to coś, co chcesz zrobić, aby porównać wyniki. Kierunek i wielkość efektu nie jest taki sam, jak stosunek wariancji modelu do błędu.
(BTW, jeśli wykonasz analizę danych zbiorczych, czego nie powinieneś, i sprawdzisz anova (lme), otrzymasz prawie takie same wyniki jak aov)
źródło