war ich nicht klar, ob die Probennamen die Zeilennamen in Ihrem Datenrahmen waren, so dass ich neu erstellt einfach den Datenrahmen der Beispielnamen in einer Variablen, gleich wie die Bakterien Namen setzen:
Sample Actinobacteria Bacteroidetes Firmicutes Fusobacteria Proteobacteria
1 sample1 0.008424628 0.4162710 0.5547550 0.000000e+00 0.0007245180
2 sample2 0.016857133 0.1329880 0.8028944 3.560112e-05 0.0042721350
3 sample3 0.002029929 0.5381382 0.4236795 3.311006e-02 0.0007978327
Verrucomicrobia Other
1 5.391762e-05 0.019770920
2 4.238314e-02 0.000569618
3 3.534702e-05 0.002209189
um diesen Datensatz zu reproduzieren Sie den folgenden Befehl ausführen können:
df <- structure(list(Sample = structure(1:3, .Label = c("sample1",
"sample2", "sample3"), class = "factor"), Actinobacteria = c(0.0084246282,
0.0168571327, 0.0020299288), Bacteroidetes = c(0.41627099, 0.132988,
0.53813817), Firmicutes = c(0.55475503, 0.80289437, 0.42367947
), Fusobacteria = c(0, 3.560112e-05, 0.03311006), Proteobacteria = c(0.000724518,
0.004272135, 0.0007978327), Verrucomicrobia = c(5.391762e-05,
0.04238314, 3.534702e-05), Other = c(0.01977092, 0.000569618,
0.002209189)), .Names = c("Sample", "Actinobacteria", "Bacteroidetes",
"Firmicutes", "Fusobacteria", "Proteobacteria", "Verrucomicrobia",
"Other"), class = "data.frame", row.names = c("1", "2", "3"))
Wie @ zx8754 vorgeschlagen, erfordert diese Datenrahmen Umformung, dh aus einem breiten Format zu einem langen Format zu bewegen. Für weitere Informationen, überprüfen Sie diese link für ein paar Beispiele.
Wenn der Datenrahmen über df
genannt wird, wird der folgende Befehl es im langen Format umformen:
library(reshape2)
df_long <- melt(df, id.vars = "Sample", variable.name = "Phyla")
Von hier aus können wir mit ggplot Grundstück:
library(ggplot2)
ggplot(df_long, aes(x = Sample, y = value, fill = Phyla)) +
geom_bar(stat = "identity")
die gibt:
[Umformen] (http://stackoverflow.com/question s/1181060) plotten Sie Ihre Daten. Hier ist [ein Beispiel] (http://stackoverflow.com/a/25936383/680068) mit ggplot – zx8754