大家好,最近在研究非约束排序,查询很多资料,根据自己的理解整理这篇文章,希望自己整理的能给大家提供帮助,如果自己整理的有误,麻烦大家给我指点,谢谢,我们一同成长。
非约束排序:
一、主成分分析PCA
1.环境因子标准化
由于环境因子之间单位不一致,为了让后续处理一致,减少误差,所以需要对环境因子标准化,使用scale=TURE;如果原始环境因子的数据单位是一致可以不用标准化,scale=FALSE。
env.pca<-rda(env, scale=TRUE)
2.物种原始数据处理(Hellinger转化)
PCA分析致力于分析定量数据,展示欧式距离和线性关系。当主成分分析在包含很多0值 且丰度差别很大的物种组成数据时进行处理时非常糟糕。为此生态学家的普遍建议,将预转化的物种组成数据(例如Hellinger转化)用作PCA的输入,可有效地将“非均匀”物种组成数据同样适用于PCA(tb-PCA),或者使用主坐标分析PCOA。通常情况下,如果你的物种数据原始数据出现的零过多,可以使用Hellinger转化。
spe.h<-decostand(spe,“Hellinger”)
3. PCA轴的选择(使用带棍的碎石图)
选择标准:第一种选取特征根大于所对应的断棍长度的轴,第二种选取特征的总和大于所对应断棍长度总和前几轴。
Screeplot(env.pca,bstick=TRUE,npcs=length(env.pca$CA$eig))
4.双序图(scaling=1/2)与前面的scale标准化函数无关
PCA-1型标尺(对象之间的距离)
Bioplot(env.pca,scaling=1,main=“PCA-1型标尺”)
PCA-2型标尺(变量之间的相关性)
Bioplot(env.pca,scaling=2,main=“PCA-1型标尺”) bioplot默认scaling=2
5.将环境因子被动加入物种数据PCA分析(使用PCA函数)
Biplot(spe.p.pca,main=“鱼类数据PCA-2型标尺”, scaling=2)
spe.h.pca.env<-envfit (spe.h.pca,env, scaling=2))
二、对应分析CA
对应分析是分析物种有-无或多度数据最受欢迎的工具之一,CA非常使用原始的物种多度数据分析(无须预转化)。
1.环境变量的被动曲线拟合(使用ordisurf()函数,envfit()函数)
spe.ca.env<-envfit(spe.ca~dis+amm,env) #dis,amm为水体流量,铵浓度
plot(spe.ca.env)
ordisurf(spe.ca.env$dis,add=TRUE)
ordisurf(spe.ca.env$amm,add=TRUE,col=“green”)
三、主坐标分析PCoA
1.利用cmdscale()和vegan()函数对物种数据进行PCOA分析
Spe.bray<-vegdist()
Spe.b.pca<-cmdscale(spe.bray,k=(nrow(spe)-1),eig=TRUE)
spe.b.pcoa.env<-envfit(spe.b.pcoa,env)
2.使用pcoa()函数对doubs数据进行pcoa分析
3.#hellinger转化的物种数据
Bioplot.pcoa(spe.h.pcoa,spe.h,dir.axis1=-1)
Abline(h=0,lty=3)
Abline(v=0,lty=3)
Text(-0.5,0.45,‘a’,cex=2)
4.#标准化hellinger转化的物种数据
spe.sted<-scale(spe.h)
Bioplot.pcoa(spe.h.pcoa, spe. std,dir.axis1=-1)
Abline(h=0,lty=3)
Abline(v=0,lty=3)
Text(-0.5,0.45,‘a’,cex=2)
四、非度量多维尺度分析NMDS
1.metaMDS()函数
Spe.nmds<-metamds(spe,distance=“bray”)
Spe.nmds
Spe.nmds$stress
2.评估nmds拟合度的shepard图或直接用排序内对象的距离与原始记录进行线性或非线性回归的R2来评估nmds的拟合度
Par(mfrow=c(1,2))
Stressplot(spe.nmds,main=”shepard图”)
gof<-goodness(spe.nmds)
plot(spe.nmds,type=“t”,main=“拟合度”)
https://mp.weixin.qq.com/s/yG-0ZNGCEcGjm0ZFqhXocA
https://mp.weixin.qq.com/s/uWX9CUBNR2ybJ1LxFhKefQ