【问题标题】:OTU table from phyloseq object can't be coerced into a data frame来自 phyloseq 对象的 OTU 表无法强制转换为数据帧
【发布时间】:2021-03-09 05:41:36
【问题描述】:

我需要将我的 OTU 表从我的 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 中。

提前致谢

【问题讨论】:

  • 如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。

标签: r dataframe matrix phyloseq


【解决方案1】:
pie<-as.matrix(physeq@otu_table)
pie<-as.data.frame(pie)

将其设为矩阵,然后保存为数据框并记住将原始矩阵保存为数据框(即pie&lt;-as.data.frame(pie) 而不仅仅是as.data.frame(pie))。

【讨论】:

    【解决方案2】:

    抱歉,我没有足够的信息来正确地帮助你,但你有没有尝试过使用 tidyverse 包中的 as_tibble() 而不是 as_dataframe() ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多