R包vegan执行非参数多元方差分析(置换多元方差分析)
当因变量不止一个时,即一个或多个因子变量对应了多个因变量时,可使用多元方差分析(MANOVA)。但是MANOVA的条件非常苛刻,以前文简述的单因素MANOVA为例,要求数据满足多元正态性、方差-协方差矩阵同质性,大部分案例中都是直接拒绝的。
替代方法可以使用稳健MANOVA,这个在前文单因素MANOVA中已经提到。对于非参数的方法,常用置换多元方差分析(PERMANOVA)。
本文使用的作图数据的网盘链接(提取码fjuq):
https://pan.baidu.com/s/1I2dX58-q5XJgexxfYTvpmg
示例数据说明
我们首先将示例数据读到R中,并从中挑选部分数据作为演示(测试数据同前文中的单因素MANOVA,以方便二者比较)。
soil <- read.table('soil.txt', sep = '\t', header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
group <- read.table('group.txt', sep = '\t', header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
soil <- merge(soil, group, by = 'sample')
#选择数据,并将分组列转换为因子变量
muti <- soil[ ,c('sample', 'treat', 'chao1', 'pH', 'NR')]
muti$treat <- factor(muti$treat)
假设存在这么一个关注的问题:
我们采集了来源于同一环境中的土壤(土壤类型一致),分为了3组,分别添加了三种类型的化学物质(a、b、c),并将土壤孵育了一定的时间(时间相同)。最后取样后,通过16S测序,获得了土壤细菌群落的Alpha多样性指数;通过土壤理化测定,获得了土壤中多种理化指标;通过土壤酶活性测定,获得了主要的几种土壤酶活性数据。通过这些数据,我们想要得知土壤细菌群落的Alpha指数、土壤理化、以及土壤酶活性是否因所添加化学物质类型不同而显著改变。
对应于上述挑选出的测试数据“muti”:sample,试验样本名称,土壤类型完全相同,土壤孵育时间完全一致;treat,在土壤中添加的三种化学物质(a、b、c),这列作为分组列,需要转换为因子变量类型;chao1,Alpha多样性指数中的Chao1指数,数值变量;pH,土壤理化数据中的pH值数据,数值变量;NR,土壤硝酸还原酶活性,数值变量。
这里存在3组因变量:“土壤菌群Chao1指数”、“土壤pH值”、“土壤硝酸还原酶(NR)活性”,对应于1组因子变量“化学物质类型”,因此我们期望使用单因素多元方差分析(单因素MANOVA),探究土壤细菌群落Chao1指数、土壤pH、土壤硝酸还原酶(NR)活性是否因所添加化学物质类型不同而发生显著改变。但是在评估检验的假设条件时,发现方差-协方差矩阵同质性并不满足(见前文),于是我们考虑更换为非参数的方法作为替代。
置换多元方差分析(PERMANOVA)
置换多元方差分析(PERMANOVA)可以通过vegan包adonis()函数来实现。以下为本文的示例参考。
#置换多元方差分析(PERMANOVA),vegan 包 adonis(),详情使用 ?adonis 查看帮助library(vegan)
rownames(muti) <- muti$sample
muti_dat <- muti[ ,c('chao1', 'pH', 'NR')]
#muti_dat <- decostand(muti_dat, 'standardize') #可选 z-score 标准化,消除量纲差异
dis <- vegdist(muti_dat, method = 'euclidean') #获取欧式距离矩阵(这里以欧式距离为例,实际分析中视情况选择合适的距离测度)
adonis(dis~treat, muti, permutations = 999) #999 次置换获得 p 值(其实就是通过置换检验来实现)结果是显著的。
以上示例中只有一组分组因子。当存在多组分组时(多因素时),adonis()仍然适用。
#例如 A 为协变量,B 为自变量时,注意协变量在前,自变量在后
adonis(y~A+B, data, permutations = 999)
#例如考虑 A、B 双因素及交互作用时,注意主因素在前,次因素在后;多因素时以此类推
adonis(y~A*B, data, permutations = 999)
R包rcompanion执行非参数双因素方差分析(Scheirer-Ray-Hare检验)
R语言执行非参数单因素方差分析(Kruskal-Wallis检验、Friedman检验)