Wie kann ich testen Effekte in einem Split-Plot ANOVA unter Verwendung geeigneter Modellvergleiche zur Verwendung mit den X
und M
Argumente anova.mlm()
in R? Ich kenne ?anova.mlm
und Dalgaard (2007). Leider werden nur Split-Plot-Designs gebürstet. Dies in einem vollständig randomisierten Design mit zwei Faktoren innerhalb des Subjekts zu tun:
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 ...
Die folgenden Modellvergleiche führen zu den gleichen Ergebnissen. Das eingeschränkte Modell enthält nicht den fraglichen Effekt, sondern alle anderen Effekte in derselben oder einer niedrigeren Reihenfolge. Das vollständige Modell fügt den fraglichen Effekt hinzu.
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
Ein Split-Splot-Design mit einem Faktor innerhalb und einem Faktor zwischen Subjekten:
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 ...
Dies sind die anova()
Befehle zum Replizieren der Tests, aber ich weiß nicht, warum sie funktionieren. Warum führen die Tests der folgenden Modellvergleiche zu den gleichen Ergebnissen?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Zwei Faktoren innerhalb der Subjekte und ein Faktor zwischen den Subjekten:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Wie repliziere ich die oben angegebenen Ergebnisse mit den entsprechenden Modellvergleichen zur Verwendung mit X
und M
Argumenten von anova.mlm()
? Welche Logik steckt hinter diesen Modellvergleichen?
EDIT: suncoolsu wies darauf hin, dass für alle praktischen Zwecke Daten aus diesen Entwürfen mit gemischten Modellen analysiert werden sollten. Ich möchte jedoch immer noch verstehen, wie die Ergebnisse von summary(Anova())
mit repliziert werden anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, S. 2007. Neue Funktionen für die multivariate Analyse. R News, 7 (2), 2-7.
lme4
Paket verwenden, um das Modell zu passen UND NICHTlm
. Dies kann jedoch eine sehr spezifische buchbasierte Ansicht sein. Ich werde es von anderen kommentieren lassen. Ich kann ein Beispiel dafür geben, wie ich es interpretiere, das sich von Ihrem unterscheidet.