查看原文
其他

R语言执行重复测量方差分析

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-05-08
重复测量方差分析(重复测量ANOVA)在R中实现

所谓重复测量方差分析(重复测量ANOVA),即受试者被测量不止一次。根据分组因子数量的不同,可再分为单因素、双因素、多因素重复测量方差分析等。本篇将通过含一个组内和一个组间因子的重复测量方差分析(这也是一个常见的设计)为例展开简介。


示例数据

  

示例数据就直接使用R中自带的CO2数据集,以下直接搬运《R语言实战(第二版)》214页中的原话。

CO2数据集,包含了北方和南方牧草类植物Echinochloa crus-galli的寒冷容忍度研究结果,在某浓度二氧化碳的环境中,对寒带植物与非寒带植物的光合作用率进行了比较。研究所用植物一半来自于加拿大的魁北克省(Quebec),另一半来自美国的密西西比州(Mississippi)。

我们只关注其中的寒带植物。因变量是二氧化碳吸收量(uptake),单位为ml/L,自变量是植物类型Type(魁北克VS.密西西比)和七种水平(95~1000 umol/m^2 sec)的二氧化碳浓度(conc)。Type是组间因子,conc是组内因子。

data(CO2)
w1b1 <- subset(CO2, Treatment == 'chilled') #我们只关注其中的寒带植物

#将分组转变为因子类型
w1b1$Type <- factor(w1b1$Type)
w1b1$conc <- factor(w1b1$conc)


评估检验的假设条件

  

重复测量ANOVA同样要求数据服从正态分布,以及各组方差相等。

本示例数据中,涉及了交互项,故可视为双因素ANOVA的扩展,正态分布和方差齐性检验可参考前文双因素ANOVA。本篇就暂且跳过这一步了,默认数据满足前提假设,直接进入方差分析过程。

 

重复测量ANOVA


使用R语言方差分析函数aov()执行,含单个组内因子(W)和单个组间因子(B)的重复测量方差分析的aov()函数书写为aov(y~B*W+Error(Subject/W))的样式。

#重复测量方差分析
fit <- aov(uptake ~ conc*Type + Error(Plant/conc), data = w1b1)
summary(fit)结果显示,主效应类型和浓度以及交叉效应类型×浓度都非常显著。结果显示,主效应类型和浓度以及交叉效应类型×浓度都非常显著。


交互效应展示


对于本示例的重复测量ANOVA中所涉及的交互效应,同样可以使用interaction.plot()、boxplot()等命令来查看(参考前文双因素ANOVA),如下示例使用boxplot()。#交互效应展示示例
boxplot(uptake~Type*conc, data = w1b1, col = c('red', 'blue'), las = 2)

结果显示,Quebec的寒带植物比Mississippi的寒带植物的CO2吸收率高,且随着CO2浓度升高,差异越来越明显。


链接

R语言执行双因素方差分析

R语言执行单因素协方差分析

R语言执行单因素方差分析及多重比较

R语言执行两组间差异分析Wilcox秩和检验

R语言执行两组间差异分析T检验

R语言绘制蝴蝶(柱状)图

R语言绘制双向柱状图

R语言绘制分组柱状图

R语言绘制堆叠柱状图

R语言绘制星形图

R语言绘制饼图(扇形图)

R语言绘制花瓣图



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存