Стековая панель, сгенерированная Phyloseq

Я использую этот пакет R под названием "phyloseq" для анализа биоинформационных данных.

otumat = matrix(sample(1:100, 100, replace = TRUE), nrow = 10, ncol = 10)
otumat

rownames(otumat) <- paste0("OTU", 1:nrow(otumat))
colnames(otumat) <- paste0("Sample", 1:ncol(otumat))
otumat

taxmat = matrix(sample(letters, 70, replace = TRUE), nrow = nrow(otumat), ncol = 7)
rownames(taxmat) <- rownames(otumat)
colnames(taxmat) <- c("Domain", "Phylum", "Class", "Order", "Family", "Genus", 
                      "Species")
taxmat

library("phyloseq")
OTU = otu_table(otumat, taxa_are_rows = TRUE)
TAX = tax_table(taxmat)
OTU
TAX

physeq = phyloseq(OTU, TAX)
physeq

plot_bar(physeq, fill = "Family")

Таким образом, сгенерированная гистограмма не объединяет одно и то же семейство. Например, в примере 10 есть два отдельных блока "I". Я знаю график графика phyloseq, используя ggplot2. Кто-нибудь знает, какие ggplot2-ассоциированные коды я могу добавить к lot_bar(physeq, fill = "Family"), чтобы объединить одно и то же семейство в гистограмму?

2 ответа

Вам нужно изменить порядок уровней фактора, используемого для оси X. physeq предположительно есть столбец с именем "Sample" (не установлен соответствующий пакет), вам нужно изменить порядок уровней в этом.

Должна быть возможность использовать такую ​​команду

physeq$Sample <- factor(physeq$Sample, levels = paste0("Sample", 1:10))

Тогда он должен правильно составить график.

Возможно, вам придется копать, чтобы найти соответствующую часть для изменения

На самом деле, с уважением, plot_bar функция уже делает то, что вы просите:

# preliminaries
rm(list = ls())
library("phyloseq"); packageVersion("phyloseq")
data("GlobalPatterns")
gp.ch = subset_taxa(GlobalPatterns, Phylum == "Chlamydiae")
# the function call that does what you're asking for
plot_bar(gp.ch, fill = "Family")

Для получения более подробной информации, примеров, смотрите следующий справочный учебник:

https://joey711.github.io/phyloseq/plot_bar-examples.html

Вы также можете указать группировку по оси X.

Другие вопросы по тегам