2016-09-18 2 views
2

Mit dem Dataset mpg, bin ich in der Lage, die Drei-Wege-Beziehung zwischen Stadt mpg, Autobahn mpg und Klassenmodell zu plotten. Ich benutze den folgenden Code (mit ggplot2), der das in der angehängten Datei Boxplot.png gezeigte Diagramm ausgibt.Rearrange Facetten nach dem Median des Boxplot

ggplot(mpg,aes(cty,hwy))+ 
    aes(color=class)+ 
    geom_boxplot()+ 
    facet_grid(.~class, scales='free')+ 
    theme(axis.text.x = element_text(angle = -90, vjust = 1, hjust = 0))+ 
    scale_x_continuous('City mpg')+ 
    scale_y_continuous('Highway mpg')+ 
    theme(legend.position="none") 

Frage:

  1. Ich möchte zunehmender Median die Boxplots, um anzuzeigen. Wie mache ich es?

  2. Kann ich den Medianwert auf jedem Boxplot anzeigen?

Antwort

-1

Was ich oft zu tun ist, um die class Variable einen Faktor zu machen, in denen die Werte bestellt ist, wie Sie wollen. Auf diese Weise werden Ihre Facettengraphen nach Ihren Wünschen geordnet.

Medianwert auf, um anzuzeigen, ich die class Variable oft neu zu definieren, wie compact (med = 26)

+1

Ein Code enthaltende Antwort mehr sein würde, mit dieser Website das Mandat zu halten. Handwaving^H^H^H^H^Hunttested Lösungen werden nicht viel geschätzt. –

2
require(ggplot2) 

aggregate(mpg$hwy, by=list(mpg$class), median) 

mpg$class <- factor(mpg$class, levels = c("compact", "midsize", "subcompact", 
              "2seater", "minivan", "suv", "pickup")) 

ggplot(mpg,aes(cty,hwy))+ 
    aes(color=class)+ 
    geom_boxplot()+ 
    facet_grid(.~class, scales='free')+ 
    theme(axis.text.x = element_text(angle = -90, vjust = 1, hjust = 0))+ 
    scale_x_continuous('City mpg')+ 
    scale_y_continuous('Highway mpg')+ 
    theme(legend.position="none") 

enter image description here

Sie auch den Median anzeigen kann. Hier ist eine gute Erklärung/Beispiel:

How to display the median value in a boxplot in ggplot?

Das Beispiel ist:

library(plyr) 
library(ggplot2) 

p_meds <- ddply(p, .(TYPE), summarise, med = median(TOTALREV)) 

ggplot(p,aes(x = TYPE, y = TOTALREV)) + 
    geom_boxplot() + 
    geom_text(data = p_meds, aes(x = TYPE, y = med, label = med), 
       size = 3, vjust = -1.5) 
Verwandte Themen