Я пытаюсь создать функцию для получения таблицы с относительным изобилием любого заданного таксранка с помощью 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) выдает ошибку: </p>
Ошибка в 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)
}
Что не так с первым параметром ?? Я просто хочу использовать любой заданный таксранк (тип, класс ....... род) в функции и сгенерировать таблицу !!!!
Спасибо