You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除phyloseq对象中的假分类群(续):读取数显示异常求助

解决phyloseq过滤后读取数显示比例的问题

问题根源

你的代码里ps_filtered是从原始整数计数的ps对象修剪而来的,本身应该保留整数读取数。出现比例的情况,大概率是你误查看了ps_prop_filtered——这个是转成比例后的过滤对象,自然显示的是小数。

修正方法

方法1:确认查看对象

确保用readcount()查看时,传入的是ps_filtered而非ps_prop_filtered:

# 查看原始计数的过滤对象,得到整数结果
readcount(ps_filtered)

方法2:优化过滤逻辑(避免对象混淆)

不用提前转换为比例,直接基于原始计数计算占比来筛选分类群,减少不同类型对象的混淆:

require("phyloseq")

# 加载示例数据
data("GlobalPatterns")
ps <- GlobalPatterns

# 直接筛选:保留至少在一个样本中占比≥0.25%的分类群
keep <- filter_taxa(ps, 
                    function(x) {
                      # 计算该分类群在每个样本中的占比
                      sample_totals <- sample_sums(ps)
                      prop <- x / sample_totals[match(names(x), names(sample_totals))]
                      max(prop) > 0.0025
                    })

# 修剪得到保留原始整数计数的对象
ps_filtered <- prune_taxa(taxa = keep, x = ps)

# 验证读取数(结果应为整数)
sample_sums(ps_filtered)
# 或者用你的readcount()函数查看
readcount(ps_filtered)

重要提示

  • ps_filtered全程保留原始整数计数,所有需要计数数据的分析都应该使用这个对象
  • ps_prop_filtered仅用于比例查看,不要用它来做需要整数计数的操作

内容的提问来源于stack exchange,提问作者MAlvarez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:17:20