【发布时间】:2022-09-27 14:19:02
【问题描述】:
我承认大多数人都有相反的问题。但是我正在尝试创建一个 ASV 表,其列名称为“已识别的 OTU”(又名列名称来自 GlobalPatterns@tax.table 的分类信息,而不仅仅是分配的 OTU 代码编码为GlobalPatterns@otu.table),行名作为样本名。
我还想将元数据附加到 ASV 表的末尾,以允许基于所述元数据进行分析。
我设法生成了一个表没有使用此代码的分类信息,使用 GlobalPatterns 进行重现性:
data(GlobalPatterns)
asv.matrix <- as.matrix(GlobalPatterns@otu_table@.Data)
asv <- data.frame(t(asv.matrix)) #transposing to make sample name the row name
meta.df <- as.data.frame(GlobalPatterns@sam_data)
asv.full <- data.frame(asv,meta.df)
write.csv(asv.full, file = \"full_asv.csv\",quote = FALSE,sep = \",\")
但是,我无法弄清楚如何将分类信息强制写入列名,这使得 ASV 表在功能上对分析毫无用处。
编辑: 我的首选格式如下(缩写为附加伪造的元数据)。试图创建一个表,失败了,有一个假的代码块。
Sample-ID / Species1 / Species2 / ...etc... / Metadata1 / Metadata2 /...etc... /
--------- / -------- / -------- / --------- / --------- / --------- /--------- /
Sample1 / 1 / 5 / ...etc... / lake / summer /...etc... /
Sample2 / 4 / 0 / ...etc... / bog / spring /...etc... /
-
决定只使用
as.data.frame(GlobalPatterns@tax.table)单独提取分类数据,并让我的顾问弄清楚如何将两者联系起来。处理我的分类数据并非全部“解析”到同一级别变得越来越混乱。