首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >R语言正交设计方差分析(代码+数据)

R语言正交设计方差分析(代码+数据)

作者头像
医学和生信笔记
发布2026-04-09 20:21:43
发布2026-04-09 20:21:43
1260
举报

在实际研究中,影响结果的因素往往不止一个。比如研究某种药物的疗效时,除了药物本身,患者的性别、年龄、用药剂量等都可能同时影响结果。如果我们对每个因素单独做方差分析,不仅效率低,还会遗漏一个重要信息——因素之间的交互作用。

多因素方差分析(Multi-way ANOVA)正是用来同时分析多个因素对结果变量影响的统计方法。它可以回答以下问题:

  • 主效应:每个因素单独对结果有没有影响?
  • 交互作用:多个因素联合起来,是否会产生”1+1≠2”的效果?

举个例子:A药和B药单独使用时效果一般,但联合使用时镇痛时间大幅延长——这就是典型的正交互作用。反之,两药合用反而效果下降,则为负交互作用。如果不考虑交互作用,单看主效应可能会得出错误的结论。

根据实验设计的不同,多因素方差分析有多种常见形式:

  • 析因设计:所有因素的水平两两组合,全面估计主效应和交互作用
  • 正交设计:因素和水平较多时,用正交表选取部分组合,减少实验次数
  • 嵌套设计:某一因素的水平嵌套在另一因素之内,两者不能交叉
  • 裂区设计:不同因素施加在不同层级的实验单位上,兼顾精度与可行性

前面已经介绍了析因设计的方差分析,本篇继续介绍正交设计的方差分析。

正交设计是析因设计的"缩减版"。当实验因素和水平较多,全面析因设计的实验次数变得不可接受时,正交设计通过预先构造好的正交表,从全部组合中挑选出一部分"有代表性"的组合来开展实验,在大幅压缩实验次数的同时,仍然保证主效应和指定的低阶交互作用可以被估计。本篇以雌螺产卵最优条件研究为例(4因素2水平,8次实验替代原本的16次),演示了如何用aov()在正交设计数据上拟合包含主效应和指定交互项的方差分析模型。需要注意的是,正交设计的代价是放弃了高阶交互作用的信息,若某些交互效应被"混杂"进主效应列,结论的可靠性会受到影响,使用时需结合专业知识谨慎设计正交表。

unsetunset正交设计资料的方差分析unsetunset

正交设计是析因设计的一种缩减方案——在因素和水平较多时,全面析因设计的实验次数会急剧增加,正交设计通过选取一部分有代表性的组合(正交表),在保证主效应可估的前提下大幅减少实验次数。正交设计的核心特点是用部分实验组合(正交表)来估计主效应,同时牺牲高阶交互作用的信息。

使用孙振球《医学统计学》第4版例11-4的数据。

研究雌螺产卵的最优条件,在20cm²的泥盒里饲养同龄雌螺10只,试验条件有4个因素,每个因素2个水平。试在考虑温度与含氧量对雌螺产卵有交互作用的情况下安排正交试验。

代码语言:javascript
复制
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的一阶交互作用:

代码语言:javascript
复制
# 均衡设计,因此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语言在医学中的使用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 医学和生信笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • unsetunset正交设计资料的方差分析unsetunset
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档