1,原理
因素A有m个取值,每个水平下,独立重复r次试验,结果:
因素水平A | 结果 | mean | mean |
1 | Y11,Y12,...,Y1r | ||
3 | Y21,Y22,...,Y2r | ||
.... | ... | ||
m | Ym1,Ym2,...,Ymr |
Yij = ++
因素A的主效应, { }试验误差
组间平方和 SA = , = m-1
组内平方和Se = , = m(r-1)
建立统计量: F = , F 值越大,说明种间差异越显著.
R中,用aov(y ~ A, data = d), 用factor(x)生成因子,表示因素
2,例子
A <- factor(rep(1:5,each = 4));A #建立因子
d <- c(25.6, 22.2, 28.0, 29.8,
24.4, 30.0, 29.0, 27.5,
25.0, 27.7, 23.0, 32.2,
28.8, 28.0, 31.5, 25.9,
20.6, 21.2, 22.0, 21.2);data
data <- data.frame(A,d);data #aov()函数里面的data必须是数据框,所以转换成数据框
plot(y~A, data=data) #这是啥图...箱图么?
result <- aov(y ~ A,data=data);aov #单因素方差分析
summary(result)
tapply(d$y,d$A,mean) #分组求均值
输出:
plot(y~A, data=data)
第五组明显均值更低.
最后结果p = 0.0162,说明F值显著,F = 4.306,好像要差表???先留着,后面知道了来改.