【问题标题】:R phyloseq tax_glom used in a function give a error函数中使用的 R phyloseq tax_glom 给出错误
【发布时间】:2019-11-02 14:02:05
【问题描述】:

我正在尝试创建一个函数,以使用 PHYLOSEQ 获取相对丰富的任何给定分类等级的表格,例如:

Relative_Table <- function (PhyloObj, TRank) {
    GROUP <- tax_glom(PhyloObj, taxrank="TRank")
    Percent <- transform_sample_counts(GROUP, function(x)100* x / sum(x))
    OTUglom <- otu_table(Percent)
    TAXglom <- tax_table(Percent)[,"TRank"]
    GroupTable <- merge(TAXglom, OTUglom, by=0, all=TRUE)
    GroupTable$Row.names = NULL
    return(GroupTable)
}

所以当我像这样使用它时: 表

tax_glom(PhyloObj, taxrank = "TaxonRank") 中的错误: 糟糕的taxrank参数。必须在 rank_names(physeq) 的值之间

不过,当我在函数内部使用 taxrank 时,它运行良好:

Relative_Table <- function (PhyloObj) {
    GROUP <- tax_glom(PhyloObj, taxrank="Phylum")
    Percent <- transform_sample_counts(GROUP, function(x)100* x / sum(x))
    OTUglom <- otu_table(Percent)
    TAXglom <- tax_table(Percent)[,"Phylum"]
    GroupTable <- merge(TAXglom, OTUglom, by=0, all=TRUE)
    GroupTable$Row.names = NULL
    return(GroupTable)
}

第一个选项有什么问题??,我只想在函数中使用任何给定的taxrank(Phylum,Class....... Genus)并生成一个表!!!!

谢谢

【问题讨论】:

    标签: r bioinformatics phyloseq


    【解决方案1】:

    很难说没有可重复的示例,但我强烈怀疑问题在于您将TRank 视为字符串而不是符号名称。换句话说,尝试在这两行中去掉"TRank" 周围的引号:

    GROUP <- tax_glom(PhyloObj, taxrank=TRank)
    

    TAXglom <- tax_table(Percent)[,TRank]
    

    您引用的错误听起来像是您在实际函数中使用TaxonRank 作为参数名称,而您向我们展示的错误使用TRank(这可能无关紧要,但这有点令人困惑读者)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多