Jak mogę testować efekty w analizie ANOVA typu split-plot, używając odpowiednich porównań modeli do użycia z argumentami X
i w R? Znam i Dalgaard (2007) [1]. Niestety szczotkuje tylko projekty Split-Plot. Robi to w całkowicie losowy sposób z dwoma czynnikami wewnątrz badanych:M
anova.mlm()
?anova.mlm
N <- 20 # 20 subjects total
P <- 3 # levels within-factor 1
Q <- 3 # levels within-factor 2
DV <- matrix(rnorm(N* P*Q), ncol=P*Q) # random data in wide format
id <- expand.grid(IVw1=gl(P, 1), IVw2=gl(Q, 1)) # intra-subjects layout of data matrix
library(car) # for Anova()
fitA <- lm(DV ~ 1) # between-subjects design: here no between factor
resA <- Anova(fitA, idata=id, idesign=~IVw1*IVw2)
summary(resA, multivariate=FALSE, univariate=TRUE) # all tests ...
Poniższe porównania modeli prowadzą do tych samych wyników. Model ograniczony nie obejmuje danego efektu, ale wszystkie inne efekty tego samego lub niższego rzędu, pełny model dodaje dany efekt.
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitA, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
X=~IVw1 + IVw2, test="Spherical") # IVw1:IVw2
Projekt Split-Splot z jednym czynnikiem wewnątrz i jednym między podmiotami:
idB <- subset(id, IVw2==1, select="IVw1") # use only first within factor
IVb <- gl(2, 10, labels=c("A", "B")) # between-subjects factor
fitB <- lm(DV[ , 1:P] ~ IVb) # between-subjects design
resB <- Anova(fitB, idata=idB, idesign=~IVw1)
summary(resB, multivariate=FALSE, univariate=TRUE) # all tests ...
Są to anova()
polecenia do replikacji testów, ale nie wiem, dlaczego działają. Dlaczego testy następujących porównań modeli prowadzą do takich samych wyników?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Dwa czynniki wewnętrzne i jeden czynnik wewnętrzny:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Jak zreplikować wyniki podane powyżej z odpowiednimi porównaniami modeli do użycia z argumentami X
i ? Jaka jest logika tych porównań modeli?M
anova.mlm()
EDYCJA: suncoolsu wskazało, że dla wszystkich praktycznych celów dane z tych projektów powinny być analizowane przy użyciu modeli mieszanych. Jednak nadal chciałbym zrozumieć, jak powielić wyniki summary(Anova())
z anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, P. 2007. Nowe funkcje analizy wielowymiarowej. R News, 7 (2), 2-7.
lme4
pakietu dopasowanego do modelu ORAZ NIElm
. Ale może to być bardzo specyficzny widok oparty na książkach. Pozwolę komentować na ten temat. Mogę podać przykład na podstawie tego, jak interpretuję to, co różni się od twojego.