首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用OTUs确定不同分类水平的堆叠条形图

用OTUs确定不同分类水平的堆叠条形图
EN

Stack Overflow用户
提问于 2022-05-01 16:00:25
回答 1查看 271关注 0票数 0

我有微生物组数据与OTUs鉴定到最低的分类水平可能。一些OTUs被识别为属,另一些被识别为科,订单等。我需要创建一个堆叠的条形图。

我的问题是:

  1. 如果我选择“属”作为我的条形图,没有识别到该属级别的任何东西都显示为“未知”。
  2. ,如果我选择更高的水平,我就失去了特异性。--

如何为我的数据创建一个具有最佳分类分辨率的条形图?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-05-13 17:16:57

你可以把所有的属,科等,都不到相对丰度的5%归入一个类别。这样,任何低计数的OTUs都会合并成一个类别,从而使您的传奇变得更干净。或者你可以移除你所有的不知名的属,但是最好记录下因为这个原因被移除的百分比或数量,或者读/分类群。

下面是一些示例代码,用于组合小于所需百分比的otus。

代码语言:javascript
运行
复制
plot<-transform_sample_counts(phyloseq.object, function(x) 100 * x/sum(x))
glom <- tax_glom(plot, taxrank = 'class')
glom # should list taxa as phyla
data_glom<- psmelt(glom) # create dataframe from phyloseq object

data_glom$class <- as.character(data_glom$class) #convert to character

#simple way to rename phyla with < 5% abundance
data_glom$class[data_glom$Abundance < 0.05] <- "< 5% abundance"

#Count phyla to set color palette
Count = length(unique(data_glom$class)); Count
unique(data_glom$class) #add into line below
data_glom$class <- factor(data_glom$class, levels = c("class", "class", "class",  "class", "< 5% abundance")) 

spatial_plot <- ggplot(data_glom, aes(x=Sample, y=Abundance, fill=class)) + facet_grid(~variable, scales = "free")

spatial_plot + geom_bar(aes(), stat="identity", position="stack") + labs (title = "title, x="label", y= "Relative Abundance (%)", ) + scale_fill_manual(values =c("color","color","color","color","etc.")+ theme (legend.position="bottom", plot.title = element_text(hjust=0.5, size=15),axis.text = element_text(size = 15),axis.title = element_text(size = 15), legend.text=element_text(size=12),legend.title = element_text(size=15)) + guides(fill=guide_legend(nrow=4))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72078329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档