组间差别分析:Adonis

要想在科学上成功,最重要的一点就是对科学的热爱,坚持长期探索。from 达尔文git

一般咱们在作假设检验的时候,是看一个分组变量(也即因子型变量)对某个数值变量的影响,这时候咱们针对数据特征能够选择合适的检验方法(详见往期文章 R中的假设检验方法 ),以下所示:

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

上期文章咱们介绍了 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

能够看到检验结果也是显著的,并且结果中给出了每部分的R2web

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

能够看出,经度、纬度以及二者交互对微生物群落均有显著影响。
示例数据下载连接:

连接:https://pan.baidu.com/s/1X0W-ns8kSdwzyliycYwV8A微信

提取码: 65pc

本文分享自微信公众号 - 微生态与微进化(MicroEcoEvo)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。app

相关文章
相关标签/搜索