Como posso testar efeitos em uma ANOVA de plotagem dividida usando comparações de modelos adequadas para uso com os argumentos X
e em R? Estou familiarizado com Dalgaard (2007) [1]. Infelizmente, ele apenas modela os designs de plotagem dividida. Fazendo isso em um design totalmente aleatório, com dois fatores internos: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 ...
As comparações de modelo a seguir levam aos mesmos resultados. O modelo restrito não inclui o efeito em questão, mas todos os outros efeitos da mesma ordem ou inferior, o modelo completo adiciona o efeito em questão.
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
Um design Split-Splot com um fator interno e um fator entre sujeitos:
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 ...
Estes são os anova()
comandos para replicar os testes, mas não sei por que eles funcionam. Por que os testes das seguintes comparações de modelos levam aos mesmos resultados?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Dois fatores entre sujeitos e um fator entre sujeitos:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Como replico os resultados fornecidos acima com as comparações de modelos correspondentes para uso com os argumentos X
e M
de anova.mlm()
? Qual é a lógica por trás dessas comparações de modelos?
EDIT: suncoolsu apontou que, para todos os efeitos práticos, os dados desses projetos devem ser analisados usando modelos mistos. No entanto, eu ainda gostaria de entender como replicar os resultados summary(Anova())
com anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, p. 2007. Novas funções para análise multivariada. R News, 7 (2), 2-7.
lme4
pacote para se ajustar ao modelo E NÃOlm
. Mas essa pode ser uma visão baseada em livro muito específica. Vou deixar outro comentário sobre isso. Eu posso dar um exemplo baseado em como eu o interpreto, que é diferente do seu.