方差分析(analysis of variance ,ANOVA)就是通过检验各总体的均值是否相等来判断分类型自变量对数值型因变量是否有显著影响。
1、单因素方差分析
一般指一个因素影响。
方差分析所需的数据结构一般是一个数据框,就像上面的那样。
进行方差分析可以使用lm()函数,或者anova()函数输出最终结果。
R代码:(只考虑单因素的)
> df<-data.frame(Grade=rep(c('level1','level2'),each=5),Height=c(141,144, 112, 131, 169, 161, 178, 132, 187, 130)) #构建数据
> df #展示数据
Grade Height
1 level1 141
2 level1 144
3 level1 112
4 level1 131
5 level1 169
6 level2 161
7 level2 178
8 level2 132
9 level2 187
10 level2 130
> pre<-aov(Height~Grade,data=df) #初步计算
> summary(pre) #计算其中Pr(>F)为P值
Df Sum Sq Mean Sq F value Pr(>F)
Grade 1 828 828.1 1.495 0.256
Residuals 8 4430 553.8
> Re<-TukeyHSD(pre)
> Re
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Height ~ Grade, data = df)
$`Grade`
diff lwr upr p adj
level2-level1 18.2 -16.12152 52.52152 0.2561935
> pvalue=(Re[[1]])[4]
> pvalue
[1] 0.2561935
多个样本之间比较
> df<-data.frame(Grade=rep(c('level1','level2','level3'),each=5),Height=c(141,144, 112, 131, 169, 161, 178, 132, 187, 130, 121, 176, 147, 143, 179))
> df
Grade Height
1 level1 141
2 level1 144
3 level1 112
4 level1 131
5 level1 169
6 level2 161
7 level2 178
8 level2 132
9 level2 187
10 level2 130
11 level3 121
12 level3 176
13 level3 147
14 level3 143
15 level3 179
> pre<-aov(Height~Grade,data=df)
> pre
Call:
aov(formula = Height ~ Grade, data = df)
Terms:
Grade Residuals
Sum of Squares 901.733 6795.200
Deg. of Freedom 2 12
Residual standard error: 23.79636
Estimated effects may be unbalanced
> summary(pre)
Df Sum Sq Mean Sq F value Pr(>F)
Grade 2 902 450.9 0.796 0.473
Residuals 12 6795 566.3
> TukeyHSD(pre)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Height ~ Grade, data = df)
$`Grade`
diff lwr upr p adj
level2-level1 18.2 -21.95172 58.35172 0.4703474
level3-level1 13.8 -26.35172 53.95172 0.6403827
level3-level2 -4.4 -44.55172 35.75172 0.9541548
> Re<-TukeyHSD(pre)
> Re
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Height ~ Grade, data = df)
$`Grade`
diff lwr upr p adj
level2-level1 18.2 -21.95172 58.35172 0.4703474
level3-level1 13.8 -26.35172 53.95172 0.6403827
level3-level2 -4.4 -44.55172 35.75172 0.9541548
> pvalue=as.data.frame((Re[[1]]))[4]
> pvalue
p adj
level2-level1 0.4703474
level3-level1 0.6403827
level3-level2 0.9541548
2、无交互作用的双因素方差分析
有的时候,因变量可能受到来自一个以上的因素的影响,最典型的就是双因素方差分析。假如因素A与因素B没有联合效应,则称为无交互作用的双因素方差分析。
3.对比单因素方差分析:
方差分析共同点均是研究不同类别样本对于定量数据的差异,区别在于单因素方差分析仅比较一个分类数据,多因素方差分析可以比较多个分类数据,并且可以研究多个分类数据之间对于定量数据的交互影响关系情况。
单因素方差分析的使用非常普遍;相比之下双因素方差对数据的要求更严格,因而更多用于实验研究。
如果实验中涉及调节变量,自变量X和调节变量Z均为分类数据,此时也应该使用多因素方差分析方法。
部分引自:
https://blog.csdn.net/weixin_41030360/article/details/80891704
网友评论