2016-04-25 7 views
0

Ich verwende dieses R-Paket namens "phyloseq", um die bioinformatischen Daten zu analysieren.Stapelbar erzeugt von 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") 

Also das Balkendiagramm generiert nicht die gleiche Familie zusammen stapeln. Zum Beispiel gibt es zwei separate "I" -Blöcke in Probe 10. Ich kenne phyloseq plot graph mit ggplot2. Weiß jemand, welche ggplot2-assoziierten Codes ich der lot_bar (physeq, fill = "Family") hinzufügen kann, um die gleiche Familie im Balkendiagramm zusammen zu stapeln?

enter image description here

Antwort

0

Sie müssen die Stufen des Faktors neu zu ordnen für die x-Achse verwendet wird. physeq hat vermutlich eine Spalte namens "Sample" (das relevante Paket ist nicht installiert), Sie müssen die Ebenen in diesem neu anordnen.

Es sollte möglich sein, einen Befehl zu verwenden, wie dies

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

Dann sollte es richtig planen.

Möglicherweise müssen Sie graben den relevanten Teil finden

0

Eigentlich in Bezug zu ändern, die plot_bar Funktion bereits tut, was Sie fragen:

# 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") 

Siehe folgende Hilfe Tutorial weitere Informationen Beispiele:

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

Sie auch die x-Achse die Gruppierung auch angeben können.