Wie erstellen Sie einen box-plot mit mehreren Spalten und das argument "split"
Ich brauche erstellen Sie einen box-plot aus Daten.Rahmen mit drei numerische Spalten, und verwenden Sie das argument split trennen Sie die Felder durch Farbe. Ich habe eine große Daten.Rahmen, aber was ich brauche, ist im Beispiel unten:
paint<-c("blue", "black", "red", "blue", "black", "red", "blue", "black", "red")
car1<-c(100, 138, 123, 143, 112, 144, 343, 112, 334)
car2<-c(111, 238, 323, 541, 328, 363, 411, 238, 313)
car3<-c(432, 123, 322, 342, 323, 522, 334, 311, 452)
data<-data.frame(paint, car1, car2, car3)
>data
paint car1 car2 car3
1 blue 100 111 432
2 black 138 238 123
3 red 123 323 322
4 blue 143 541 342
5 black 112 328 323
6 red 144 363 522
7 blue 343 411 334
8 black 112 238 311
9 red 334 313 452
, Wenn ich nur eine Spalte der folgenden Funktion:
boxplot(split(Daten[,2], Daten[,1]))
Aber wenn ich versuchen, erstellen Sie einen boxplot mit drei Spalten die Funktion funktioniert nicht:
boxplot(split(Daten[,2:4], Daten[,1]))
Danke für die Hilfe und sorry für schlechtes Englisch.
Was wollen Sie Ihr Diagramm Aussehen? Was ist auf der x-Achse? Farbe mit drei boxplots (car1, car2 und car3) pro Farbe?
InformationsquelleAutor RhinoBR | 2012-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie Ihre Daten in der lang-form zuerst und dann Plotten:
Oder verwenden Sie
lattice
:Ich bin mir nicht sicher, warum diese notation funktioniert nicht mit base-R
boxplot
obwohl.Update
Falls ich missverstanden deiner ursprünglichen Frage (nach dem Lesen der Roman-Kommentar), ist hier eine option (wieder mit
lattice
) , stellt boxplots fürcar1
,car2
, undcar3
separat, sondern side-by-side. Dies nutzt die long-form-Datentemp
im ersten Beispiel erstellt:das kam mir, nachdem ich Lesen Ihren Kommentar. @RhinoBR, wenn Sie wollten getrennte Parzellen für jedes Auto anstatt das panel Ausgang, Sie können dies auch mit Ihren original-Daten:
lapply(data[-1], function(x) boxplot(x ~ data$paint))
.InformationsquelleAutor A5C1D2H2I1M1N2O1R2T1