ANOVA、ANCOVA 使用R语言进行方差分析(一)( 五 )


结果:
Analysis of Variance TableResponse: weightDfSum Sq Mean Sq F valuePr(>F)gesttime1134.30 134.3048.0493 0.005971 **dose3137.1245.7082.7394 0.049883 * Residuals 69 1151.2716.685---Signif. codes:0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
从图中可以看到 , 用怀孕时间来预测出生体重的回归线相互平行 , 只是截距项不同 。随着怀孕时间增加 , 幼崽出生体重也会增加 。另外 , 还可以看到0剂量组截距项最大 , 5剂量组截距项最小 。由于你上面的设置 , 直线会保持平行 , 若使用( ~ *dose) , 生成的图形将允许斜率和截距项依据组别而发生变化 , 这对可视化那些违背回归斜率同质性的实例非常有用 。
4. 双因素方差分析(ANOVA)
在双因素方差分析中 , 受试者被分配到两因子的交叉类别组中 。以基础安装中的数据集为例 , 随机分配60只豚鼠 , 分别采用两种喂食方法(橙汁或维生素C) , 各喂食方法中抗坏血酸含量有三种水平(0.5mg、1mg或2mg) , 每种处理方式组合都被分配10只豚鼠 。牙齿长度为因变量 。
#双因素方差分析attach(ToothGrowth)table(supp, dose)head(ToothGrowth)aggregate(len, by=list(supp, dose), FUN=mean)aggregate(len, by=list(supp, dose), FUN=sd)dose <- factor(dose)fit <- aov(len ~ supp*dose) # 双因素影响summary(fit)detach(ToothGrowth)
结果:
> head(ToothGrowth)len supp dose14.2VC0.52 11.5VC0.537.3VC0.545.8VC0.556.4VC0.56 10.0VC0.5> aggregate(len, by=list(supp, dose), FUN=mean)Group.1 Group.2x1OJ0.5 13.232VC0.57.983OJ1.0 22.704VC1.0 16.775OJ2.0 26.066VC2.0 26.14> aggregate(len, by=list(supp, dose), FUN=sd)Group.1 Group.2x1OJ0.5 4.4597092VC0.5 2.7466343OJ1.0 3.9109534VC1.0 2.5153095OJ2.0 2.6550586VC2.0 4.797731> summary(fit)Df Sum Sq Mean Sq F valuePr(>F)supp1205.4205.415.572 0.000231 ***dose2 2426.41213.292.000< 2e-16 ***supp:dose2108.354.24.107 0.021860 *Residuals54712.113.2---Signif. codes:0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
结果分析:
table语句的预处理表明该设计是均衡设计(各设计单元中样本大小都相同) , 语句处理可获得各单元的均值和标准差 。dose变量被转换为因子变量 , 这样aov()函数就会将它当做一个分组变量 , 而不是一个数值型协变量 。用()函数得到方差分析表 , 可以看到主效应(supp和dose)和交互效应都非常显著 。
4.1 结果可视化
此处可用.plot()函数来展示双因素方差分析的交互效应 。
interaction.plot(dose, supp, len, type="b", col=c("red","blue"), pch=c(16, 18), main = "Interaction between Dose and Supplement Type")
图形展示了各种剂量喂食下豚鼠牙齿长度的均值:
用包中的()函数来展示交互效应:
library(gplots)plotmeans(len ~ interaction(supp, dose, sep=" "), connect=list(c(1,3,5),c(2,4,6)), col=c("red", "darkgreen"), main = "Interaction Plot with 95% CIs", xlab="Treatment and Dose Combination")
图形展示了均值、误差棒(95%的置信区间)和样本大小:
用HH包中的()函数来可视化结果 , 图形对任意顺序的因子设计的主效应和交互效应都会进行展示:
library(HH)interaction2wt(len~supp*dose)
数据集的主效应和交互效应:
以上三幅图形都表明随着橙汁(QJ)和维生素C(VC)中的抗坏血酸剂量的增加 , 牙齿长度变长 。对于0.5mg和1mg剂量 , 橙汁比维生素C更能促进牙齿生长;对于2mg剂量的抗坏血酸 , 两种喂食方法下牙齿长度增长相同 。三种绘图方法中 , 我更推荐HH包中的()函数 , 因为它能展示任意复杂度设计(双因素方差分析、三因素方差分析等)的 主效应(箱线图) 和交互效应 。