美文网首页
R 常用微生物距离函数记录

R 常用微生物距离函数记录

作者: leoxiaobei | 来源:发表于2021-12-18 17:44 被阅读0次
#1
ps <- physeq
phyloseq::distance(ps,"wunifrac")# Weighted UniFrac
phyloseq::distance(ps,"unifrac")# Unweighted UniFrac
phyloseq::distance(ps,"bray")#bary curtis
phyloseq::distance(ps,"jaccard",binary=T)#binary jaccard
#2
phyloseq::UniFrac(ps,T)# Weighted UniFrac
phyloseq::UniFrac(ps,F)# Unweighted UniFrac

#3
picante::unifrac(as(t(otu_table(ps)),"matrix"), phy_tree(ps))# Unweighted UniFrac, Rooted phylogeny required for UniFrac calculation

#4
vegan::vegdist(t(otu_table(ps)), "bray")#bary curtis
vegan::vegdist(t(otu_table(ps)), "jaccard",binary = T)#binary jaccard
#5
vegan::designdist(t(otu_table(ps)),method = "(A+B-2*J)/(A+B)",terms = "minimum")#bary curtis
vegan::designdist(t(otu_table(ps)),method = "(A+B-2*J)/(A+B-J)",terms = "binary")#binary jaccard

#6
library(MicrobiotaProcess)
get_dist(ps,"unifrac","hellinger")# Weighted UniFrac
get_dist(ps,"wunifrac","hellinger")# Unweighted UniFrac
get_dist(ps,"bray","hellinger")#bary curtis
get_dist(ps,"jaccard","hellinger",binary=T)#binary jaccard
#7
mpse <- as.mpse(ps) %>% mp_decostand(.abundance = Abundance,method = "hellinger") 
mpse %>% mp_cal_dist(.abundance = hellinger,distmethod = "wunifrac",action = "get")# Weighted UniFrac
mpse %>% mp_cal_dist(.abundance = hellinger,distmethod = "unifrac",action = "get")# Unweighted UniFrac
mpse %>% mp_cal_dist(.abundance = hellinger,distmethod = "bray",action = "get")#bary curtis
mpse %>% mp_cal_dist(.abundance = hellinger,distmethod = "jaccard",action = "get",binary=T)#binary jaccard

总结:第1、6、7距离算法较多,但是1计算距离前无法对原始OTU进行hellinger转换,相反6和7均可以,但是7操作步骤稍显复杂,使用6更快捷方便
ps:怎么做hellinger转换?

otu_table <- as(otu_table(ps),"matrix")
#hellinger转换
x1 <- decostand(otu_table,MARGIN = 2,method = "hellinger")
x2 <- t(labdsv::hellinger(t(otu_table)))
x3 <- apply(otu_table,2,function(x) {
  sqrt(x/sum(x))}
)
x4 <- sqrt(sweep(otu_table,2,colSums(otu_table),FUN = "/"))

显然,decostand方法最方便。

相关文章

  • R 常用微生物距离函数记录

    总结:第1、6、7距离算法较多,但是1计算距离前无法对原始OTU进行hellinger转换,相反6和7均可以,但是...

  • R:phyloseq分析Core Microbiota

    导读 利用R语言phyloseq函数包中的core函数寻找样品核心微生物群(Core Microbiota)。 r...

  • day4-R语言基础-SomeShero

    R语言常用函数 URL: R中的画图函数--plot()函数 plot()函数是R中基本的画x-y两个变量的函数,...

  • R常用函数

    R语言常用代码整理 排序 order()函数 均值 mean(b$number)计算b数据框number这一列的平...

  • R语言常用函数整理(基础篇)

    R语言基础函数整理 R语言常用函数整理本篇是基础篇,即R语言自带的函数。 一、数据管理 vector:向量nume...

  • R字符处理

    R 常用字符处理函数整理如下.

  • R语言常用函数

    数据结构 一、数据管理 vector:向量 numeric:数值型向量 logical:逻辑型向量 charact...

  • R语言常用函数

    1.判断存在:一个元素是不是在向量中用a%in%b > a="TT" > b=c("AA","AT","TT") ...

  • pandas常用函数总结

    pandas常用函数 导入并读取数据 常用的pandas数据读取函数 注意:csv与tsv格式文件都是使用pd.r...

  • 常用函数记录

    字符串编码转换函数:

网友评论

      本文标题:R 常用微生物距离函数记录

      本文链接:https://www.haomeiwen.com/subject/zysgfrtx.html