2017-03-24 2 views
0

BEARBEITEN: Der mit der Funktion boxplot() generierte Boxplot wurde hinzugefügt.Erstellen von Boxplots für mehrere Variablen in ggplot2 ohne Factoring

Angesichts der Iris dataste, der folgende Code:

boxplot(iris[,]) 

Erstellt eine boxplot mit fünf Boxen, eine für jede Variable, ohne sie in Kategorien wie zum Beispiel Arten aufzuteilen. Obwohl dies einfach genug ist, konnte ich das in ggplot2 nicht machen.

Boxplot generated with standard function.

Meine Frage ist also einfach: Wie kann ich das erreichen?

+0

Fragen zur Verwendung von R-Code sind im Allgemeinen hier nicht verfügbar. Das kann im Thema auf [SO] sein, wenn Sie warten, können wir versuchen, es dort zu migrieren. – gung

+0

Ich entschuldige mich tief! Eine Migration wäre fantastisch! –

+1

Sie brauchen sich nicht zu entschuldigen, ich lasse Sie nur für zukünftige Referenz wissen. Wenn Sie die Migration beschleunigen möchten, können Sie Ihr Q markieren und die Moderatoren bitten, es zu migrieren. – gung

Antwort

1

Species ist ein Faktor mit drei Stufen (setosa, versicolor und virginica). Ich denke, es macht keinen Sinn, wenn Sie es mit den anderen Variablen plotten.

Es macht mehr Sinn, wenn Sie alle anderen 4 Variablen darstellen möchten (Sepal.Length, Sepal.Width, Petal.Length und Petal.Width) in einem Plot, wie unten

library(dplyr) 
library(tidyr) 
library(ggplot2) 
iris %>% dplyr::select(Species, everything()) %>% tidyr::gather("id", "value",2:5) %>% 
    ggplot(., aes(x = id, y = value))+geom_boxplot() 

enter image description here

Wenn Sie alle zeichnen möchten 5 Variablen in der gleichen Grafik, müssen Sie species konvertieren, um numerisch zu sein

iris %>% dplyr::mutate(Species = as.numeric(Species)) %>% tidyr::gather("id", "value",1:5) %>% 
    ggplot(., aes(x = id, y = value))+geom_boxplot() 

enter image description here

+0

Vielen Dank für Ihre Antwort. Ich stimme zu. Leider muss ich einen solchen Boxplot erstellen, weil ich dazu aufgefordert wurde. Es liegt nicht an mir. –

+0

@DanksC. Bitte überprüfen Sie die aktualisierte Antwort – aelwan

+0

Vielen Dank! Das hat es geschafft! –

Verwandte Themen