美文网首页
R中的方差分析(Analysis of Variance / A

R中的方差分析(Analysis of Variance / A

作者: 余绕 | 来源:发表于2020-06-18 17:39 被阅读0次

方差分析(analysis of variance ,ANOVA)就是通过检验各总体的均值是否相等来判断分类型自变量对数值型因变量是否有显著影响。

1、单因素方差分析
一般指一个因素影响。
方差分析所需的数据结构一般是一个数据框,就像上面的那样。
进行方差分析可以使用lm()函数,\color{#fbbc05}{也可以使用aov()函数,再利用summary()函数}或者anova()函数输出最终结果。
R代码:(只考虑单因素的)
\color{#fbbc05}{两个样本之间比较:}

> 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

相关文章

网友评论

      本文标题:R中的方差分析(Analysis of Variance / A

      本文链接:https://www.haomeiwen.com/subject/swauxktx.html