要想在科学上成功,最重要的一点就是对科学的热爱,坚持长期探索。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)library(vegan)adonis=adonis(otu~Position, permutations=999)adonis

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

能够看出,经度、纬度以及二者交互对微生物群落均有显著影响。
连接:https://pan.baidu.com/s/1X0W-ns8kSdwzyliycYwV8A微信