R phyloseq tax_glom 在函数中使用给出错误
R phyloseq tax_glom used in a function give a error
我正在尝试创建一个函数,以使用 PHYLOSEQ 在任何给定 taxrank 的相对丰度中获得 table,例如:
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)
}
所以当我使用它时:
TABLE <- Relative_Table(PHYLO_Obj, 门)
它给我一个错误:
tax_glom(PhyloObj, taxrank = "TaxonRank") 错误:
糟糕的税收等级论点。必须在 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) 并生成一个 Table !!!!
谢谢
如果没有可重现的示例很难说,但我强烈怀疑问题在于您将 TRank
视为字符串而不是符号名称。换句话说,试着去掉这两行中 "TRank"
周围的引号:
GROUP <- tax_glom(PhyloObj, taxrank=TRank)
和
TAXglom <- tax_table(Percent)[,TRank]
你引用的错误听起来像是你在实际函数中使用 TaxonRank
作为参数名称,而你向我们展示的一个使用 TRank
(这可能无关紧要,但是 reader)
有点混乱
我正在尝试创建一个函数,以使用 PHYLOSEQ 在任何给定 taxrank 的相对丰度中获得 table,例如:
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)
}
所以当我使用它时: TABLE <- Relative_Table(PHYLO_Obj, 门) 它给我一个错误:
tax_glom(PhyloObj, taxrank = "TaxonRank") 错误: 糟糕的税收等级论点。必须在 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) 并生成一个 Table !!!!
谢谢
如果没有可重现的示例很难说,但我强烈怀疑问题在于您将 TRank
视为字符串而不是符号名称。换句话说,试着去掉这两行中 "TRank"
周围的引号:
GROUP <- tax_glom(PhyloObj, taxrank=TRank)
和
TAXglom <- tax_table(Percent)[,TRank]
你引用的错误听起来像是你在实际函数中使用 TaxonRank
作为参数名称,而你向我们展示的一个使用 TRank
(这可能无关紧要,但是 reader)