千家信息网

R语言中的Adonis分析如何理解

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,R语言中的Adonis分析如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通常我们在做假设检验的时候,是看一个分组变量(也即因子型
千家信息网最后更新 2024年11月11日R语言中的Adonis分析如何理解

R语言中的Adonis分析如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

通常我们在做假设检验的时候,是看一个分组变量(也即因子型变量)对某个数值变量的影响,这时候我们针对数据特征可以选择合适的检验方法,如下所示:

这种统计检验就是分析不同分组数据的差别,分组可以来自实验本身的区组设计,也可以来自聚类分析。当情形变得更复杂些--不同分组不再是单个数据变量,而是一个个数据矩阵的时候,例如微生物群落数据,我们需要更复杂的方法来进行分析,也就是组间差异分析的主要内容。

Anosim分析 , Anosim 分析的一个缺点就是只能分析一个分组因素的影响,当有两个因素同时影响时可能得出错误结果。今天来介绍另一种非参数差异分析 Adonis 。
ADONIS 又称置换多因素方差分析( permutational MANOVA ,也即 PERMANOVA )或非参数多因素方差分析( nonparametric MANOVA ),是一种基于样品距离 ( 默认为 distance="bray" ,可以选择其他距离,也可以直接使用距离矩阵进行分析 ) 的非参数多元方差分析方法,是 MANOVA 的等同形式。该方法可分析不同分组因素对样品距离的解释度,记组间距离的方差为 SSb 、组内距离的方差为 SSw ,假如数据受分组影响显著,那么 SSb 应远小于 SSw ,因此构造统计量 F :

其中 n 为样本总数, m 为组数。假如组间差异不显著,即各组样本均来自同一总体,那么 F≈1 ;假如组间差异显著, F>>1 。与方差分析的 MANOVA 不同的是, Adonis 使用置换来获得统计量 F 的分布而不是使用标准 F 分布来进行判断,因此是非参数方法。在 R 中 Adonis 分析可以使用 vegan 包中的 adonis() 以及 adonis2() 函数,示例如下:
#读取物种和环境因子信息data=read.csv("otu_table.csv", header=TRUE, row.names=1)envir=read.table("environment.txt", header=TRUE)rownames(envir)=envir[,1]env=envir[,-1]#筛选高丰度物种并将物种数据标准化means=apply(data, 1, mean)otu=data[names(means[means>10]),]otu=t(otu)#根据地理距离聚类kms=kmeans(env, centers=3, nstart=22)Position=factor(kms$cluster)#进行Adonis分析library(vegan)adonis=adonis(otu~Position, permutations=999)adonis

可以看到检验结果也是显著的,而且结果中给出了每部分的R2

与 Anosim 、 MRPP 不同的是, Adonis 稳健性大大提高,而且既可以处理因子变量也可以处理连续的数值变量(实质上就是回归)。由于 Adonis 为置换多因素方差分析,所以可以灵活使用方差分析的公式,因此分析效果大大增强。下面我们分析经纬度单独的影响,使用多元双因素方差分析的公式:
adonis2=adonis(otu~Latitude*Longitude, env, permutations=999)adonis2

可以看出,经度、纬度以及两者交互对微生物群落均有显著影响。

看完上述内容,你们掌握R语言中的Adonis分析如何理解的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

0