R语言学习

R语言学习-双因素方差分析

2019-02-14  本文已影响0人  邱俊辉

双因素方差分析

在双因素方差分析中,受试者被分到两因子的交叉类别组中。示例数据来源于ToothGrowth数据集-随机分配60只豚鼠,分别采取两种喂食方式(橙汁或维生素C)各种喂食方式中抗坏血酸的剂量有三种水平(0.5mg,1mg,2mg),牙齿长度为因变量

> 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  

len-牙齿长度 supp-喂食方式 dose-剂量

> table(ToothGrowth$supp,ToothGrowth$dose)#k可以明显看出两种因素
    
     0.5  1  2
  OJ  10 10 10
  VC  10 10 10
> aggregate(ToothGrowth$len,by=list(ToothGrowth$supp,ToothGrowth$dose),FUN=mean)
  Group.1 Group.2     x
1      OJ     0.5 13.23
2      VC     0.5  7.98
3      OJ     1.0 22.70
4      VC     1.0 16.77
5      OJ     2.0 26.06
6      VC     2.0 26.14
#可以看出各组均值存在差异
> class(ToothGrowth$dose)#原数据集dose向量为字符向量,不是分组因子
[1] "numeric"
> ToothGrowth$dose<-factor(ToothGrowth$dose)#将dose向量转化为因子向量
> class(ToothGrowth$dose)
[1] "factor"
> fit<-aov(len~supp*dose,data = ToothGrowth)
> summary(fit)
            Df Sum Sq Mean Sq F value   Pr(>F)    
supp         1  205.4   205.4  15.572 0.000231 ***
dose         2 2426.4  1213.2  92.000  < 2e-16 ***
supp:dose    2  108.3    54.2   4.107 0.021860 *  
Residuals   54  712.1    13.2                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

从结果可以看出主效应和交互效应都很显著

结果可视化-interaction2wt()

HH包中的interaction2wt()函数可以用来可视化结果,图形把任意顺序的因子设计的主效应和交互效应都会进行展示

> library(HH)
> interaction2wt(len~dose*supp,data = ToothGrowth)
image.png

从结果可以看出随着橙汁和VC中抗坏血酸剂量的增加,牙齿长度会变长,对于0.5mg和1mg,橙汁的效果比果汁好

上一篇下一篇

猜你喜欢

热点阅读