微生物群落结构差异分析
输入的数据格式与RDA分析格式相同
spe:群落组成数据
group: 分类数据
env:环境数据:土壤理化因子、植物类别等
library(vegan)
# ADONIS/PERMANOVA-PCoA
# β多样性指数可以选择不同的指数
adonis(spe~ grazing,data = group,permutations = 999,method="bray") ->grazing.bray # 用grazing分组spe,并进行Adonis分析,分析结果赋予grazing.bray,使用bray-curits index
grazing.bray#查看adonis分析结果
adonis(NR~ depth*Group,data = NRenv,permutations = 999,method="jaccard")->NR.jac # 不同分组方式交互影响,使用jaccard index
## 两两比较
pairwise.adonis <-function(x,factors, sim.method, p.adjust.m)
{
library(vegan)
co = as.matrix(combn(unique(factors),2))
pairs = c()
F.Model =c()
R2 = c()
p.value = c()
for(elem in 1:ncol(co)){
ad = adonis(x[factors %in%c(as.character(co[1,elem]),as.character(co[2,elem])),] ~
factors[factors %in%c(as.character(co[1,elem]),as.character(co[2,elem]))] , method =sim.method);
pairs =c(pairs,paste(co[1,elem],'vs',co[2,elem]));
F.Model =c(F.Model,ad$aov.tab[1,4]);
R2 = c(R2,ad$aov.tab[1,5]);
p.value = c(p.value,ad$aov.tab[1,6])
}
p.adjusted =p.adjust(p.value,method=p.adjust.m)
pairw.res = data.frame(pairs,F.Model,R2,p.value,p.adjusted)
return(pairw.res)
} # 进行Adonis多重比较前期准备,不需要更改
pairwise.adonis(spe, group$grazing, sim.method="bray", p.adjust.m= "bonferroni") # 多重比较
#ANOSIM-NMDS
NRCK.anosim<-anosim(NRCK,NRenvCK$depth,permutations = 999,distance = "bray")
NRCK.anosim
#MRPP
NRCK.mrpp<-mrpp(NRCK,NRenvCK$depth,permutations = 999,distance = "bray")
NRCK.mrpp
#Mantel test
library(vegan)
library(ecodist)
MNRA<-read.csv("MNRA.csv")
group<- read.csv("Group.csv")
plant=read.csv("plant.csv",header=T,row.names=1,sep=",")
species.distance<-vegdist(MNRA,method = 'bray')
env.distance=vegdist(plant$Tot.bio,method = "euclidean")
species$env=mantel(species.distance,env.distance,permutations=999)
参考文献:排序方法比较大全PCA、PCoA、NMDS、CCA
Adonis和ANOSIM方法组间整体差异评估原理
PCoA距离算法大全
读懂PCA和PCoA
1群落结构差异 2组间差异 3总结
环境因子关联分析—CCA还是RDA
大家也可以扫描下方二维码,查看更多群落结构分析内容!