Come posso testare gli effetti in un ANOVA a diagramma diviso usando confronti di modello adatti per l'uso con gli argomenti X
e M
di anova.mlm()
in R? Conosco ?anova.mlm
Dalgaard (2007) [1]. Purtroppo sfiora solo i disegni a trama divisa. In questo modo in un design completamente randomizzato con due fattori entro soggetti:
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 ...
I seguenti confronti di modello portano agli stessi risultati. Il modello limitato non include l'effetto in questione ma tutti gli altri effetti dello stesso ordine o inferiori, il modello completo aggiunge l'effetto in questione.
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
Un design Split-Splot con un fattore interno e uno tra soggetti:
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 ...
Questi sono i anova()
comandi per replicare i test, ma non so perché funzionino. Perché i test dei seguenti confronti di modello portano agli stessi risultati?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Due fattori entro soggetti e uno tra soggetti:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Come posso replicare i risultati sopra indicati con i confronti dei modelli corrispondenti da utilizzare con gli argomenti X
e M
di anova.mlm()
? Qual è la logica dietro questi confronti tra modelli?
EDIT: suncoolsu ha sottolineato che per tutti gli scopi pratici, i dati di questi progetti dovrebbero essere analizzati utilizzando modelli misti. Tuttavia, mi piacerebbe ancora capire come replicare i risultati di summary(Anova())
con anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, P. 2007. Nuove funzioni per l'analisi multivariata. R Notizie, 7 (2), 2-7.
lme4
pacchetto per adattarlo al modello E NONlm
. Ma questa potrebbe essere una visione basata su libri molto specifica. Lascerò altri commenti su di esso. Posso fare un esempio basato su come lo interpreto, che è diverso dal tuo.