2016-09-21 3 views
0

Für die Universität, ich bin beauftragt, zwei Whisker-Boxplots Seite an Seite in der gleichen Handlung zu erstellen. (Und dann kritische Kommentare und Beobachtungen über sie machen)Wie man zwei Boxplots im selben Plot macht?

Der sway Datenrahmen diese Übung auf basiert, kann durch die folgende R erhalten werden Befehle:

sway <- 
    structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), 
           .Label = c("Elderly", "Young"), class = "factor"), 
       FBSway = c(19L, 30L, 20L, 19L, 29L, 25L, 21L, 24L, 50L, 25L, 21L, 17L, 15L, 14L, 14L, 22L, 17L), 
       SideSway = c(14L, 41L, 18L, 11L, 16L, 24L, 18L, 21L, 37L, 17L, 10L, 16L, 22L, 12L, 14L, 12L, 18L)), 
      .Names = c("Age", "FBSway", "SideSway"), 
      class = "data.frame", row.names = c(NA, -17L)) 

Die Idee ist, dass wir ein erstellen Boxplot von sway$FBsway für die Young als die Elderly Altersgruppen, in der gleichen Handlung.

Ich weiß über die par(mfrows=c(1,2)) Funktion, aber das schafft zwei lose Plots, Seite an Seite.

Wie verwandeln wir die sway Datenrahmen in ein Format, dass boxplot() verwenden kann, um die gewünschten Boxplots in einem einzigen Grundstück zu schaffen?

Antwort

1

Macht das, was Sie wollen?

plot(as.numeric(sway$FBSway) ~as.factor(sway$Age)) 
+0

Wow! Das macht genau das, was ich will! Könnten Sie näher erläutern, warum die 'as.numeric'- und' as.factor'-Casts hier notwendig sind, damit dies funktioniert? – Qqwy

+0

Oder war das Problem hier, dass ich blind auf 'boxplot()' starrte, während 'plot()' 'nur' einen Boxplot für dich macht, vorausgesetzt, die richtige Eingabe? – Qqwy

+1

Eigentlich sind sie vielleicht nicht so notwendig. Ich tat es einfach, um die Dinge eindeutig zu halten. Um Unklarheiten zu beseitigen, können Sie "plot" durch "boxplot" ersetzen. –

0

Wie wäre es damit?

library(ggplot2) 
library(reshape2) 
sway <- melt(sway) 

ggplot(sway, aes(variable, value)) + geom_boxplot() + facet_wrap(~Age) 

enter image description here

ggplot(sway, aes(Age, value)) + geom_boxplot() + facet_wrap(~variable) 

enter image description here

Verwandte Themen