我正在phyloseq中工作,一旦创建了phyloseq对象,就无法编辑地图数据。我认为问题在于我如何尝试将编辑后的数据与对象合并,但我无法查明确切的问题。
所有最初设置phyloseq对象的东西都很好,看起来像这样:
#Sequence chimera checked from dada2
seqtab <- readRDS("seqtab.rds")
#Taxonomic assignments
taxa <- read.csv("taxonomy.csv",sep=",",row.names=1)
taxa <- as.matrix(taxa)
#Mapping file
mapfile <- "map.txt"
map <- import_qiime_sample_data(mapfile)
head(map)
#Creating phyloseq object.
ps <- phyloseq(otu_table(seqtab, taxa_are_rows=FALSE),
sample_data(map),
tax_table(taxa))
但是,一旦设置好,我希望能够对映射数据进行编辑,最好使用dplyr,然后将其与phyloseq对象合并回去。这就是我一直在尝试的方法:
#Edit columns in dplyr
split <- data.frame(sample_data(ps))
split <- split %>%
separate(Date, c("Day", "Month", "Year"), sep = "-")
#Merge sample dataframes
sam <- data.frame(sample_data(ps))
split <- merge(split, sam, by = "SampleID")
当我这样做并仅查看示例数据时,列已正确拆分。但是,当我查看phyloseq对象时,这些列尚未正确拆分。有人对我要去哪里有建议吗?