R: planen Sie mehrere box-plots verwenden die Spalten von data Frames
Ich würde gerne zeichnen eine EINZELNE box-plot für die einzelnen unabhängigen Spalte, die in einem Daten-frame. Ich dachte, ich war auf der rechten Spur mit boxplot.matrix
von der sfsmsic
Paket, aber es scheint die gleiche wie boxplot(as.matrix(plotdata)
die Handlung alles in einem gemeinsamen boxplot mit einer gemeinsamen Skala auf der Achse. Ich möchte (sagen wir) 5 die einzelnen Parzellen.
Konnte ich diesen von hand wie:
par(mfrow=c(2,2))
boxplot(data$var1
boxplot(data$var2)
boxplot(data$var3)
boxplot(data$var4)
Aber es muss doch eine Möglichkeit, um den Daten-frame Spalten?
EDIT: ich habe Iterationen, siehe meine Antwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die
reshape
- Paket, um die Dinge zu vereinfachenoder sogar verwenden Sie dann
ggplot2
- Paket, um die Dinge schönermelt
undstack
?Vom
?boxplot
wir sehen, dass wir die option zum übergeben mehrerer Vektoren von Daten als Elemente einer Liste, und wir erhalten mehrere boxplots, einen für jeden Vektor in unserer Liste.Also alles, was wir tun müssen, ist, konvertieren Sie die Spalten unserer matrix in eine Liste:
Wenn Sie wirklich wollen, separate Platten mit je einem einzelnen boxplot (obwohl, ehrlich gesagt, ich sehe nicht, warum Sie würde wollen, dass), ich würde stattdessen wenden ggplot und Facettierung:
par(mfrow=c(2,5)) boxplot(x = as.list(as.data.frame(plotdata)))
ist der code, den ich verwendet, wo plotdata ist ein ...x9 double matrix.scales = "free_y"
wenn Facettierung.Ich verwendet, iteration, dies zu tun. Ich denke, vielleicht war ich nicht klar in der ursprünglichen Frage. Danke für die Antworten, nichts weniger.