我认为我的问题最好用一点代码来理解:
#Load data
b <- structure(list(s1 = c(18.5, 24, 17.2, 19.9, 18), s2 = c(26.3,
25.3, 24, 21.2, 24.5), s3 = c(20.6, 25.2, 20.8, 24.7, 22.9),
s4 = c(25.5, 19.9, 22.6, 17.5, 20.4)), .Names = c("s1", "s2",
"s3", "s4"), row.names = c(NA, -5L), class = "data.frame")
# Model A
# One way (the wrong way) to test wether s1,s2,s3,s4 differs:
summary(aov(s1~s2+s3+s4, data=b))
# R does not complain here - but I don't know what I am doing. I guess I am trying
# to explain the variance in s1, with the variable s2,s3 and s4.
# I am not sure how this actually is different from a proper anova (see below).
# Also I dont understand why the Sum of Squares for s3 is much larger than the sum of
# squares for s2 and s4.
# Model B
# The correct way to do it (requires reshape)
# install.packages('reshape')
# library(reshape)
summary(aov(value ~variable, data=melt(b)))
# This is correct - I am here testing variation within the factors of 'variable',
# to explain variation in 'value'.
# Doing
TukeyHSD(aov(value ~variable, data=melt(b)))
# shows me that s1 is significantly different from s2.
# My way of thinking is that this result should be evident from "model A"
# What does Sum of Squares in model A mean? - why is it so big for s3?
从上面代码中的注释来看:我要求解释模型 A 是如何以及为什么是错误的。