0

我正在研究肠道微生物群数据。我想执行一个双标图,显示我的两种肠型和主要的 OTU,解释我的两种肠型之间的差异。

类似于:从https://doi.org/10.1038/srep08397在此处输入图像描述

我正在使用包 ade4 来绘制肠型,这给了我一个很好的情节,但我找不到如何添加 OTU 加载

我的脚本:

library(ade4)
#dist_jsd_3a = distance
#sample_data(physeq_genus_3a_epi)$cluster_3a_fullname) = enterotypes
#obs.pcoa$li = pcoa result from dudi.pco function

obs.pcoa=dudi.pco(cailliez(dist_jsd_3a), scannf=F, nf=2)
s.class(obs.pcoa$li, fac=as.factor(sample_data(physeq_genus_3a_epi)$cluster_3a_fullname), grid=F, col = c("#0073C2FF","#EFC000FF"))

这段代码给了我这个情节:在此处输入图像描述

我还使用 vegan 包中的 envfit 函数运行以下代码,它允许我绘制 OTU,但生成的图不像上面使用 ade4 包中的 s.class 函数那样令人愉快。

library(vegan)
#dist_jsd_3a = distance
#groups = enterotypes
#pcoa = pcoa result from cmdscale(dis)

dis<-dist_jsd_3a
groups <- sample_data(physeq_genus_3a_epi)$cluster_3a
pcoa <- cmdscale(dis)
efit <- envfit(pcoa, t(otu_table(physeq_genus_3a_epi)))
plot(pcoa, col = c("#0073C2FF", "#EFC000FF")[groups], pch = c(21,24)[groups])
##Ordiellipse##
## I use confidence level of 0.95) ##
ordiellipse(pcoa, groups, col = c("#0073C2FF", "#EFC000FF"),
            kind="sd",lty=c(1), conf = 0.95, alpha = 0.05, lwd = 2)

plot(efit, col = "red", cex = 0.9)

在此处查看结果:在此处输入图像描述

我想知道是否有人已经使用 ade4 包绘制了 biplot 并且能够为 OTU 添加箭头。如果是,任何提示将不胜感激

4

0 回答 0