温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言中的Anosim分析该如何理解

发布时间:2021-12-28 12:04:39 来源:亿速云 阅读:1436 作者:柒染 栏目:大数据

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

无论是野外环境样品,还是室内试验样品,一般我们都会设置样方或平行样来增强分析的准确性,必要时还会进行区组设计,因此在数据分析中需要进行组间差异的比较判别。然而对于微生物群落数据,由于物种繁多,而且不同物种的敏感环境因子不同,因此基于正态分布的参数检验难以满足分析需要,要进行多元非参数检验(non-parametric multivariate statistical tests)来计算显著性,R语言vegan包含有多种非参数检验方法,包括Anosim、Adonis、MRPP等,不同方法在统计量的选择、零模型等方面存在差异。

Anosim  分析(  Analysis of similarities  )是一种基于置换检验和秩和检验的非参数检验方法,用来检验组间的差异是否显著大于组内差异,从而判断分组是否有意义。  Anosim  分析使用距离进行分析,默认为  method="bray"  ,可以选择其他距离(和  vegdist()  函数相同),也可以直接使用距离矩阵进行分析。在  R  中我们可以使用  vegan  包中的  anosim()  函数进行分析,这里我们微生物  群落数据为例进行分析:
#读取抽平后的OTU_table和环境因子信息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)#进行Anosim分析library(vegan)anosim=anosim(otu, Position, permutations=999)summary(anosim)

R语言中的Anosim分析该如何理解

上图中的  ANOSIM statistic R  为  Anosim  检验的统计量,他的分布衡量的就是零模型的分布,  Upper quantiles of permutations  就是通过  999  次置换获得的统计量的分位数。具体说来,  Anosim  分析的原理是先计算样品两两之间的距离,将样品两两之间的距离按照从小到大进行排序并计算排名(秩,  r  ),并根据距离的归类(属于组间距离还是组内距离)来计算组间距离秩的均值  rb  与组内距离秩的均值  rw  之差作为统计量:

R语言中的Anosim分析该如何理解

假如R>0,说明组内距离小于组间距离,也即分组是有效的,这与方差分析中比较组内方差与组间方差来判断的原理是类似的。由上面分析结果可以看到R=0.4613,大于零模型99%分位数0.290,因此p值为0.001,结果是显著的。我们可以提取分析结果,如下为距离的秩:

R语言中的Anosim分析该如何理解

因为有22个样品,所以应该有C(22, 2)=231个距离。如下为上述距离对应的归属:

R语言中的Anosim分析该如何理解

现在我们根据这个排序归类进行可视化:
mycol=c(52,619,453,71,134,448,548,655,574,36,544,89,120,131,596,147,576)mycol=colors()[mycol]par(mar=c(5,5,5,5))result=paste("R=",anosim$statistic,"p=", anosim$signif)boxplot(anosim$dis.rank~anosim$class.vec, pch="+", col=mycol, range=1, boxwex=0.5, notch=TRUE, ylab="Bray-Curtis Rank", main="Bray-Curtis Anosim", sub=result)
作图结果如下所示:

R语言中的Anosim分析该如何理解

设置参数  notch=TRUE  后会在箱子的两边绘制凹槽来显示中位数的置信区间,从而便于对中位数进行比较。可以看出第二组分组效果较差,但总体来说分组是有效的。

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI