基本原理
方差分析(Analysis of variance, ANOVA)是用于两个或两个以上样本均数比较的方法,还可以分析两个或多个研究因素的交互交互作用以及回归方程的线性假设检验等。其基本思想是将全部观察值间的变异——总变异按设计和需要分解成两个或多个组成部分,再作分析。
本文将针对单因素方差分析(One-Way ANOVA)开展R语言的实践。单因素方差分析是将同质的受试对象随机地分配到各处理组,再观察对比实验效应的方法。在单因素方差分析中,首先将总变异(SS_总)分解为组间变异(SS_组间)也叫处理变异和组内变异(SS_组内)也叫误差变异,然后比较两者的平均变异(MS_组间,MS_组内),比较时采用两者的比值F值(MS_组间/MS_组内)
R语言实践
为研究钙离子对体重的影响作用,某研究者将36只肥胖模型大白鼠随机等分为三组,每组12只,分别给予高脂正常剂量钙(0.5%)、高脂中剂量钙(1.0%)和高脂高剂量钙(1.5%)三种不同的饲料,喂养9周,测其喂养前后体重的差值。结果如下:
高脂正常剂量钙(0.5%):332.96,297.76,312.57,295.47,284.25,307.97,292.12,244.61,261.46,286.46,322.49,282.42
高脂中剂量钙(1.0%):253.21,235.87,269.3,258.9,254.39,200.87,227.79,237.05,216.85,238.03,238.19,243.49
高脂高剂量钙(1.5%):232.55,217.71,261.15,220.72,219.46,247.27,280.75,196.01,208.24,198.41,240.35,219.56
首先,导入数据:
my_data = read.xlsx("./anova_1.xlsx", sheetIndex = 1, encoding = "UTF-8")
其次,对通过箱型图和线图对数据进行可视化:
# 绘制箱型图
ggboxplot(my_data, x = "剂量", y = "体重差值",color = "剂量", palette = c("#00AFBB", "#E7B800", "#FC4E07"),order = c("高脂正常剂量钙", "高脂中剂量钙", "高脂高剂量钙"),ylab = "体重差值", xlab = "剂量")
# 绘制线图
ggline(my_data, x = "剂量", y = "体重差值",add = c("mean_se", "jitter"),order = c("高脂正常剂量钙", "高脂中剂量钙", "高脂高剂量钙"),ylab = "体重差值", xlab = "剂量")
绘制结果如下:
然后进行方差分析:
# 计算方差分析
res.aov <- aov(体重差值 ~ 剂量, data = my_data)
# 输出分析结果
summary(res.aov)
分析结果如下:
Df Sum Sq Mean Sq F value Pr(>F)
剂量 2 28925 14462 27.21 1.04e-07 ***
Residuals 33 17540 532
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
上述结果表明,经假设检验得出多个总体均数不全等。
最后,我们可以计算Tukey HSD(Tukey Honest Significant Differences,R函数:TukeyHSD()可以实现),以在组均值之间进行多次成对比较
# 确定特定组对之间的平均差异是否具有统计显著性
TukeyHSD(res.aov)
输出结果如下:
Tukey multiple comparisons of means95% family-wise confidence levelFit: aov(formula = 体重差值 ~ 剂量, data = my_data)$剂量diff lwr upr p adj
高脂正常剂量钙-高脂高剂量钙 64.86333 41.76836 87.95831 0.0000002
高脂中剂量钙-高脂高剂量钙 10.98000 -12.11498 34.07498 0.4810804
高脂中剂量钙-高脂正常剂量钙 -53.88333 -76.97831 -30.78836 0.0000064
上述结果表明说明中、高剂量钙与正常钙喂养9周前后体重差值不同,但不能认为中、高剂量钙喂养9周前后体重差值不同。