[英]Fail to plot by group on a phyloseq object generated by R package Divnet
我打算 plot 我的樣本的 alpha 多樣性 plot,它由三組組成。 Alpha 多樣性由 R package Di.net 計算得出。 它涉及使用 phyloseq 作為依賴項。
每個樣本的組在 sam_data 中指定,phyloseq object 中的“type”列“df_family”“dv”是由多樣性估計和標准誤差組成的列表。
這是我使用的代碼:
dv$shannon %>% plot(df_family, color = "type", group = df_family@sam_data$type) +
xlab("sample type") +
ylab("Shannon diversity estimate (family level)") +
coord_cartesian(ylim = c(0,5))`
這是我得到的:
樣本是獨立顯示的,而不是聚集成一個組
這是我打算得到的:
一旦你已經有了你的 phyloseq object df_family
,你就可以使用來自 phyloseq 的 function estimate_richness
。 然后,您可以將示例元數據加入到這個 alpha 多樣性的數據框中。 最后,您可以直接使用ggplot2
地自定義您的 plot ,例如將不同的樣本組(此處SampleType
)放在您的 x 軸上:
library(tidyverse)
library(phyloseq)
# get example phy object
otufile <- system.file("extdata", "GP_otu_table_rand_short.txt.gz", package = "phyloseq")
mapfile <- system.file("extdata", "master_map.txt", package = "phyloseq")
df_family <- import_qiime(otufile, mapfile, trefile, showProgress = FALSE)
alphadiv <-
df_family %>%
estimate_richness() %>%
as_tibble(rownames = "sample_id") %>%
left_join(df_family@sam_data %>% as_tibble(rownames = "sample_id"))
alphadiv
alphadiv %>%
ggplot(aes(x = SampleType, y = Shannon)) +
geom_boxplot()
您還可以在 aes 中添加其他示例屬性,例如aes(x = SampleType, y = Shannon, color = my_group)
如果my_group
是包含 f、li 或 si 的單元格的示例屬性列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.