我正在尝试创建一个函数,以使用 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)
}
所以当我像这样使用它时: TABLE <- Relative_Table(PHYLO_Obj, Phylum) 它给了我一个错误:
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)并生成一个表!!!!
谢谢