簡體   English   中英

plot 在 R package Di.net 生成的 phyloseq object 上按組失敗

[英]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))`

這是我得到的:

樣本是獨立顯示的,而不是聚集成一個組我的情節1

這是我打算得到的:預期情節2

一旦你已經有了你的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM