题目
程序及结果
程序:
X<-c(80,203,236,252,284,368,
133,180,100,160,200,195,
156,295,320,448,465,481,
194,214,272,330,386,475)
A<-factor(rep(1:4,each=6))
miscellany<-data.frame(X,A)
aov.mis<-aov(X~A,data=miscellany)
summary(aov.mis)
结果:
Df Sum Sq Mean Sq F value Pr(>F)
A 3 137206 45735 4.782 0.0114 *
Residuals 20 191288 9564
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
我们采用自编函数 anova.tab()得到完整的方差分析表:
anova.tab<-function(fm)
{tab<-summary(fm)
k<-length(tab[[1]])-2
temp<-c(sum(tab[[1]][,1]),sum(tab[[1]][,2]),rep(NA,k))
tab[[1]]["Total",]<-temp
tab
}
调用函数及结果:
> anova.tab(aov.mis)
Df Sum Sq Mean Sq F value Pr(>F)
A 3 137206 45735 4.782 0.0114 *
Residuals 20 191288 9564
Total 23 328494
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
由程序结果可以列出方差分析表: