Der Titel sagt alles, und ich bin verwirrt. Das Folgende führt ein wiederholtes aov () in R aus und führt einen, wie ich dachte, äquivalenten lm () -Aufruf aus, aber sie geben unterschiedliche Fehler-Residuen zurück (obwohl die Quadratsummen gleich sind).
Es ist klar, dass die Residuen und angepassten Werte von aov () diejenigen sind, die im Modell verwendet werden, da sich ihre Quadratsummen zu jeder der in der Zusammenfassung (my.aov) angegebenen Modell- / Residuenquadratsummen addieren. Was sind nun die tatsächlichen linearen Modelle, die auf einen Entwurf mit wiederholten Messungen angewendet werden?
set.seed(1)
# make data frame,
# 5 participants, with 2 experimental factors, each with 2 levels
# factor1 is A, B
# factor2 is 1, 2
DF <- data.frame(participant=factor(1:5), A.1=rnorm(5, 50, 20), A.2=rnorm(5, 100, 20), B.1=rnorm(5, 20, 20), B.2=rnorm(5, 50, 20))
# get our experimental conditions
conditions <- names(DF)[ names(DF) != "participant" ]
# reshape it for aov
DFlong <- reshape(DF, direction="long", varying=conditions, v.names="value", idvar="participant", times=conditions, timevar="group")
# make the conditions separate variables called factor1 and factor2
DFlong$factor1 <- factor( rep(c("A", "B"), each=10) )
DFlong$factor2 <- factor( rep(c(1, 2), each=5) )
# call aov
my.aov <- aov(value ~ factor1*factor2 + Error(participant / (factor1*factor2)), DFlong)
# similar for an lm() call
fit <- lm(value ~ factor1*factor2 + participant, DFlong)
# what's aov telling us?
summary(my.aov)
# check SS residuals
sum(residuals(fit)^2) # == 5945.668
# check they add up to the residuals from summary(my.aov)
2406.1 + 1744.1 + 1795.46 # == 5945.66
# all good so far, but how are the residuals in the aov calculated?
my.aov$"participant:factor1"$residuals
#clearly these are the ones used in the ANOVA:
sum(my.aov$"participant:factor1"$residuals ^ 2)
# this corresponds to the factor1 residuals here:
summary(my.aov)
# but they are different to the residuals reported from lm()
residuals(fit)
my.aov$"participant"$residuals
my.aov$"participant:factor1"$residuals
my.aov$"participant:factor1:factor2"$residuals
participant
, wie inanova(lm(value ~ factor1*factor2*participant, DFlong))