来自 phyloseq 对象的 OTU table 无法强制转换为数据框
OTU table from phyloseq object can't be coerced into a data frame
我需要将我的 OTU table 从我的 phyloseq 对象转换成一个数据框,这样我就可以将它用于 运行 PICRUSt2,但是 as.data.frame(physeq@otu_table)
不会使它成为一个数据框。我尝试了 pie<-as.matrix(physeq@otu_table)
并且当我说 is.matrix(pie) #it says TRUE
时,但是当我说 class(pie) #it says [1] "otu_table" attr(,"package") [1] "phyloseq"
它甚至不会假装是数据框:
pie<-as.data.frame(physeq@otu_table)
is.data.frame(pie)
#FALSE
我不能只使用我在将它放入 phyloseq 对象之前的 asv_mat,因为我必须从我的 phyloseq 对象中移除线粒体和叶绿体。这仍然会在 asv_mat.
提前致谢
抱歉,我没有足够的信息来正确帮助您,但是您是否曾尝试使用 tidyverse 包中的 as_tibble() 而不是 as_dataframe() ?
pie<-as.matrix(physeq@otu_table)
pie<-as.data.frame(pie)
使其成为矩阵,然后保存为数据框并记住将原始矩阵保存为数据框(即 pie<-as.data.frame(pie)
而不仅仅是 as.data.frame(pie)
)。
我需要将我的 OTU table 从我的 phyloseq 对象转换成一个数据框,这样我就可以将它用于 运行 PICRUSt2,但是 as.data.frame(physeq@otu_table)
不会使它成为一个数据框。我尝试了 pie<-as.matrix(physeq@otu_table)
并且当我说 is.matrix(pie) #it says TRUE
时,但是当我说 class(pie) #it says [1] "otu_table" attr(,"package") [1] "phyloseq"
它甚至不会假装是数据框:
pie<-as.data.frame(physeq@otu_table)
is.data.frame(pie)
#FALSE
我不能只使用我在将它放入 phyloseq 对象之前的 asv_mat,因为我必须从我的 phyloseq 对象中移除线粒体和叶绿体。这仍然会在 asv_mat.
提前致谢
抱歉,我没有足够的信息来正确帮助您,但是您是否曾尝试使用 tidyverse 包中的 as_tibble() 而不是 as_dataframe() ?
pie<-as.matrix(physeq@otu_table)
pie<-as.data.frame(pie)
使其成为矩阵,然后保存为数据框并记住将原始矩阵保存为数据框(即 pie<-as.data.frame(pie)
而不仅仅是 as.data.frame(pie)
)。