在实际研究中,影响结果的因素往往不止一个。比如研究某种药物的疗效时,除了药物本身,患者的性别、年龄、用药剂量等都可能同时影响结果。如果我们对每个因素单独做方差分析,不仅效率低,还会遗漏一个重要信息——因素之间的交互作用。
多因素方差分析(Multi-way ANOVA)正是用来同时分析多个因素对结果变量影响的统计方法。它可以回答以下问题:
举个例子:A药和B药单独使用时效果一般,但联合使用时镇痛时间大幅延长——这就是典型的正交互作用。反之,两药合用反而效果下降,则为负交互作用。如果不考虑交互作用,单看主效应可能会得出错误的结论。
根据实验设计的不同,多因素方差分析有多种常见形式:
前面已经介绍了析因设计的方差分析,本篇继续介绍正交设计的方差分析。
正交设计是析因设计的"缩减版"。当实验因素和水平较多,全面析因设计的实验次数变得不可接受时,正交设计通过预先构造好的正交表,从全部组合中挑选出一部分"有代表性"的组合来开展实验,在大幅压缩实验次数的同时,仍然保证主效应和指定的低阶交互作用可以被估计。本篇以雌螺产卵最优条件研究为例(4因素2水平,8次实验替代原本的16次),演示了如何用aov()在正交设计数据上拟合包含主效应和指定交互项的方差分析模型。需要注意的是,正交设计的代价是放弃了高阶交互作用的信息,若某些交互效应被"混杂"进主效应列,结论的可靠性会受到影响,使用时需结合专业知识谨慎设计正交表。
正交设计是析因设计的一种缩减方案——在因素和水平较多时,全面析因设计的实验次数会急剧增加,正交设计通过选取一部分有代表性的组合(正交表),在保证主效应可估的前提下大幅减少实验次数。正交设计的核心特点是用部分实验组合(正交表)来估计主效应,同时牺牲高阶交互作用的信息。
使用孙振球《医学统计学》第4版例11-4的数据。
研究雌螺产卵的最优条件,在20cm²的泥盒里饲养同龄雌螺10只,试验条件有4个因素,每个因素2个水平。试在考虑温度与含氧量对雌螺产卵有交互作用的情况下安排正交试验。
data11_4 <- data.frame(
a = rep(c("5度","25度"),each = 4),
b = rep(c(0.5, 5.0), each = 2),
c = c(10, 30),
d = c(6.0, 8.0,8.0,6.0,8.0,6.0,6.0,8.0),
x = c(86,95,91,94,91,96,83,88)
)
data11_4$a <- factor(data11_4$a)
data11_4$b <- factor(data11_4$b)
data11_4$c <- factor(data11_4$c)
data11_4$d <- factor(data11_4$d)
str(data11_4)
## 'data.frame': 8 obs. of 5 variables:
## $ a: Factor w/ 2 levels "25度","5度": 2 2 2 2 1 1 1 1
## $ b: Factor w/ 2 levels "0.5","5": 1 1 2 2 1 1 2 2
## $ c: Factor w/ 2 levels "10","30": 1 2 1 2 1 2 1 2
## $ d: Factor w/ 2 levels "6","8": 1 2 2 1 2 1 1 2
## $ x: num 86 95 91 94 91 96 83 88
head(data11_4)
## a b c d x
## 1 5度 0.5 10 6 86
## 2 5度 0.5 30 8 95
## 3 5度 5 10 8 91
## 4 5度 5 30 6 94
## 5 25度 0.5 10 8 91
## 6 25度 0.5 30 6 96
进行正交设计资料的方差分析,只考虑4个因素的主效应以及a和b的一阶交互作用:
# 均衡设计,因此3种类型的平方和结果相同,且变量顺序对结果无影响
f4 <- aov(x ~ a + b + c + d + a:b, data = data11_4)
summary(f4)
## Df Sum Sq Mean Sq F value Pr(>F)
## a 1 8.0 8.0 3.2 0.2155
## b 1 18.0 18.0 7.2 0.1153
## c 1 60.5 60.5 24.2 0.0389 *
## d 1 4.5 4.5 1.8 0.3118
## a:b 1 50.0 50.0 20.0 0.0465 *
## Residuals 2 5.0 2.5
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
结果和表11-23一模一样,结论:雌螺产卵条件主要与泥土含水量(c)、温度与含氧量的交互作用(a:b)有关。
医学和生信笔记,专注R语言在医学中的使用!