R语言学习-单因素协方差分析
2019-02-14 本文已影响1人
邱俊辉
单因素协方差分析
单因素协方差分析扩展了单因素方差分析,包含一个或多个定量的协变量。示例数据来源于multcomp包中的litter数据集。怀孕小鼠被分为四个组,每个小组接受不同剂量的药物处理。产下的幼崽的体重均值为因变量,怀孕时间为协变量
> library(multcomp)
> table(litter$dose)
0 5 50 500
20 19 18 17
#可以看出每种剂量产下的幼崽数不同
> aggregate(litter$weight,by=list(litter$dose),FUN=mean)
Group.1 x
1 0 32.30850
2 5 29.30842
3 50 29.86611
4 500 29.64647
#显示各组体重均值
> fit<-aov(weight~gesttime+dose,data =litter )#协变量放在主要因子前面
> summary(fit)
Df Sum Sq Mean Sq F value Pr(>F)
gesttime 1 134.3 134.30 8.049 0.00597 **
dose 3 137.1 45.71 2.739 0.04988 *
Residuals 69 1151.3 16.69
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
从单因素协方差的F检验可以看出怀孕时间与幼崽体重有关
结果可视化
HH包中的ancova()函数可以绘制因变量,协变量和因子之间的关系图
> library(HH)
载入需要的程辑包:lattice
载入需要的程辑包:grid
载入需要的程辑包:latticeExtra
载入需要的程辑包:RColorBrewer
载入需要的程辑包:gridExtra
> ancova(weight~gesttime+dose,data=litter)
Analysis of Variance Table
Response: weight
Df Sum Sq Mean Sq F value Pr(>F)
gesttime 1 134.30 134.304 8.0493 0.005971 **
dose 3 137.12 45.708 2.7394 0.049883 *
Residuals 69 1151.27 16.685
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
![](https://img.haomeiwen.com/i14463769/6f7998127b250c5b.png)
从图中可以看到用怀孕时间来预测体重的回归线相互平行,只是截距项不同,其中0剂量截距项最大,5剂量截距项最少