r语言中求偏度系数(R语言Jaccard和Bray-curtis相异系数)
r语言中求偏度系数(R语言Jaccard和Bray-curtis相异系数)还是以前面的OTU数据为例。Bray-Curtis vegdist(spe.’bary’)而Bray-curtis计算时,不仅考虑样本中物种的有无,而且还考虑不同物种的相对丰度。Jaccard和Bray-Curtis都可以用vegan包中的vegdist计算。具体计算命令如下所示:Jaccard vegdist(spe ’jac’ binary=’TRUE’)
Jaccard和Bray-curtis相异系数是生物信息分析中常用到的,它是计算物种相似性的基础。
通过计算相异系数,可以得到一个矩阵matrix,矩阵是后续做热图和聚类树的基础。
需要注意的是这两个相异系数的侧重点不一样。
Jaccard在分析时,只考虑样本中物种的有无,而不考虑丰度。
而Bray-curtis计算时,不仅考虑样本中物种的有无,而且还考虑不同物种的相对丰度。
Jaccard和Bray-Curtis都可以用vegan包中的vegdist计算。具体计算命令如下所示:
Jaccard vegdist(spe ’jac’ binary=’TRUE’)
Bray-Curtis vegdist(spe.’bary’)
还是以前面的OTU数据为例。
打开R语言,改为数据的工作路径
library(vegan) #载入vegan包
otu1<-read.csv('otu.csv') #读取数据
otu2<-otu1[1:105 1:16] #选择需要的行数和列数(由于16行以后为英文字母,所以我们选择16行之前的)
otu<-t(otu2) #将行数和列数进行转置
otu.ja<-vegdist(otu ’jac’ binary=’TRUE’) #计算jaccard
otu.bc<-vegdist(spe.’bary’) #计算bray-curtis
write.csv(as.matrix(otu.ja) ’otu.ja’) #将jaccard存为到文件夹里
write.csv(as.matrix(otu.bc) ’otu.bc’) #将bray-curtis存为’otu.bc’文件
拿到矩阵后,可以用矩阵做热图或聚类树。
下面是本次的计算代码,需要的拿走哈!
library(vegan)
otu1<-read.csv('otu.csv')
otu2<-otu1[1:105 1:16]
otu<-t(otu2)
otu.ja<-vegdist(otu 'jac' binary='TRUE')
otu.bc<-vegdist(otu 'bray')
write.csv(as.matrix(otu.ja) 'otuja1.csv')
write.csv(as.matrix(otu.bc) 'otubc1.csv')
需要注意的是,不同的包,计算的Jaccard和Bray-Curtis相异系数不一样。
用ade4包也可以计算相异系数。
感兴趣的,可以自己试一下。