2 方差检验

方差检验是看多组数据有没有区别的。比如男人和女人的身高有没有区别。

这里使用的数据集是R中自带的数据集ToothGrowth,研究维生素C对几内亚猪牙齿生长的影响。一共三列,第一列是牙齿长度,第二列是补充方式是吃VC还是orange juice。第三列是一天多少毫克。

data("ToothGrowth")
summary(ToothGrowth)
##       len        supp         dose      
##  Min.   : 4.20   OJ:30   Min.   :0.500  
##  1st Qu.:13.07   VC:30   1st Qu.:0.500  
##  Median :19.25           Median :1.000  
##  Mean   :18.81           Mean   :1.167  
##  3rd Qu.:25.27           3rd Qu.:2.000  
##  Max.   :33.90           Max.   :2.000

我们想按不同的剂量dose分组,看看猪们的牙长有没有区别,就可以用方差检验。首先因为自变量dose是数值型,必须先转换成factor,否则会出错。dose有0.5,1,2三种取值。

ToothGrowth$dosef <- factor(ToothGrowth$dose)
summary(ToothGrowth$dosef)
## 0.5   1   2 
##  20  20  20

然后就可以进行方差检验了。检验出p值小于0.05,说明不同剂量的维C的猪牙长有显著差异。

AOV1 <- aov(len ~ dosef, ToothGrowth)
summary(AOV1)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## dosef        2   2426    1213   67.42 9.53e-16 ***
## Residuals   57   1026      18                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1