24小时热门版块排行榜    

查看: 11449  |  回复: 6

小马科研部落

新虫 (小有名气)

[交流] R语言 Jaccard和Bray-curtis相异系数 已有4人参与

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')
---------------------------------------------------------------------------
更多R语言的学习内容,在【小马科研部落】哈!

R语言 Jaccard和Bray-curtis相异系数
矩阵.jpg
回复此楼

» 猜你喜欢

更多内容,请关注微信公众号【小马科研部落】,有问题可找QQ308091253
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小马科研部落

新虫 (小有名气)

都是自己学习写的,有不对的地方,还请大家指正哈!
更多内容,请关注微信公众号【小马科研部落】,有问题可找QQ308091253
2楼2017-09-20 16:17:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

一个人不够

新虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼主我想问问你你知道这个错误是什么意思吗:Error in dist1[, 1] : argument "i" is missing, with no default
3楼2017-09-21 13:13:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小马科研部落

新虫 (小有名气)

引用回帖:
3楼: Originally posted by 一个人不够 at 2017-09-21 13:13:40
楼主我想问问你你知道这个错误是什么意思吗:Error in dist1 : argument "i" is missing, with no default

应该是说i丢失,上面程序中没有赋值。
更多内容,请关注微信公众号【小马科研部落】,有问题可找QQ308091253
4楼2017-09-22 11:06:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zkychen

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问求得的Jaccard系数怎样进行显著性检验?
5楼2018-11-07 15:03:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

中药滋补养生

新虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼主,请问otu1和otu2各代表什么呀

发自小木虫Android客户端
6楼2021-12-31 12:58:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerome711

银虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
源数据应该截个图介绍一下,剩下的完美
做懂得生活的人
7楼2023-05-20 09:29:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小马科研部落 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见