Boxplot in R erstellen

von | Zuletzt bearbeitet am: Nov 15, 2023 | Boxplot, R


Ein Boxplot bildet verschiedene Lageparameter und Streuparameter ab und gibt damit einen ersten groben Überblick über eine Verteilung. Dieser Artikel zeigt die Erstellung in R über verschiedene Wege.

Ein Boxplot kann auch in SPSS erstellt werden. Für eine ausführliche Interpretation gibt es einen speziellen Artikel. Wie man R und das Zusatzmodul RStudio installiert, zeigt dieser Artikel.

1 Boxplot über die Funktion “boxplot” erstellen

Am einfachsten gelingt das Erstellen eines Boxplots über die gleichnamige Funktion “boxplot”

 

1.1 Der einfache Boxplot

Der Code hierfür ist auch denkbar einfach. Hier wird ein Boxplot für die Variable IQ eines zufällig generierten Datensatzes erstellt:


boxplot(IQ)

Das führt zu folgendem Ergebnis:

Boxplot R

Hier fehlt für meinen Geschmack allerdings eine Bezeichnung, was ich etwas weiter unten zeige.

 

1.2 Der gruppierte Boxplot

Hat man zwei Gruppen, z.B. das Geschlecht der Probanden, das man vergleichen möchte, verwendet man eine leicht geänderte Funktion:


boxplot(IQ~Geschlecht)

Hier erhält man nun zwei Boxplots:

Boxplot R
Die Beschriftung der Kategorien wird dann automatisch von R vorgenommen. Möchte man statt Geschlecht – was ja ziemlich klar als Oberkategorie ist – z.B. zeigen, dass es sich um eine Kontrollgruppe handelt, fügt man einfach xlab=”Kontrollgruppe” hinzu. Das hat zur Folge, dass die Beschriftung der x-Achse geändert wird. Hier belasse ich es aufgrund des Kontexts aber schlicht bei der Bezeichnung Geschlecht für die x-Achse und füge zusätzlich mit ylab=”IQ” noch eine Bezeichnung für die y-Achse ein.

Sollte das Diagramm zusätzlich einen Titel (z.B. “IQ der Probanden”) benötigen, verwendet man main=”IQ der Probanden” in der boxplot-Funktion. Konkret sieht die Funktion für beide Argumente wie folgt aus:


boxplot(IQ~Geschlecht, xlab="Geschlecht", ylab="IQ", main="IQ der Probanden")

Boxplot R

 

1.3 Der eingefärbte Boxplot

Eine farbige Unterscheidung kann auch durch Einfärben der Boxplots hinzugefügt werden. Der Boxplot für Männlich soll z.B. hellblau (“lightblue”) und der Boxplot für Weiblich pink (“pink”) gefärbt werden. Dazu gibt es die col-Funktion: col=(c(“lightblue”,”pink”)). Je nachdem, wie viele Gruppen existieren, sind weitere Farben hinzuzufügen. Es ist zwingend notwendig beim Argument “col” die Farben mit c(“Farbe 1”, …, “Farbe n”) aufzulisten. Die Farben werden entsprechend von links nach rechts zugewiesen. Zu den Farben in R gibt es hier noch mal einen ausführlichen Artikel: Farben in R, der „col“-Befehl.


boxplot(IQ~Geschlecht, xlab="Geschlecht", ylab="IQ", col=(c("lightblue","pink")))

Boxplot R

 

2 Boxplot über die Funktion “ggplot” erstellen

Die ggplot-Funktion ist sehr umfangreich bzw. erlaubt sehr viele Detailänderungen. Auf die meiner Meinung nach wichtigsten werde ich daher nachfolgend eingehen.

Zunächst muss sie über den Befehl library(ggplot2) geladen werden. Habt ihr ggplot2 nicht installiert, könnt ihr das über den Befehl install.packages(“ggplot2”) tun.

 

2.1 Der einfache Boxplot

In meinem Fall liegt das Datenset im Dataframe “data_xls”. Dies ist das erste Argument in der ggplot-Funktion. Danach kommt die aes-Funktion. Hier lege ich mit y=IQ fest, dass ich für IQ eine Grafik erstellen möchte.


ggplot(data_xls, aes(y = IQ))

Das Ergebnis ist zunächst nur ein leeres Koordinatensystem mit der entsprechenden Beschriftung:

 

Als Nächstes folgt der Boxplot-Befehl. (+geom_boxplot), der den Boxplot hinzufügt. Da ihr bereits oben spezifiziert habt, dass ihr den IQ abtragen wollt, braucht es nichts weiter:


ggplot(data_xls, aes(y = IQ)) + geom_boxplot()

Boxplot R

 

2.2 Der gruppierte Boxplot

Hier wird es nun deutlich einfacher als mit der oben gezeigten Variante. Lediglich der Befehl “x=” ist einzufügen:


ggplot(data_xls, aes(y = IQ, x = Geschlecht)) 
       + geom_boxplot()

Dies bewirkt das Aufteilen der Boxplots in zwei oder mehr Gruppen und beschriftet die Boxplots auch direkt:

Boxplot R

 

2.3 Der eingefärbte Boxplot

Auch die Einfärbung ist kein Problem. Hier muss in die geom_boxplot()-Funktion einfach das Argument “fill” eingesetzt werden und analog zu oben mit der c()-Funktion Farben eingefügt werden. Das sieht dann wie folgt aus:


ggplot(data_xls, aes(x = Geschlecht, y = IQ )) 
                     + geom_boxplot(fill=c("lightblue", "pink"))

Das hat folgendes Ergebnis:

Boxplot R

 

Es gibt noch viele weitere sinnvolle Funktionen, bspw. wenn ihr die Boxplots drehen wollt. Dafür verwendet ihr einfach “+ coord_flip()”.

Weitere sinnvolle Befehle gibt es hier.

 

3 Videotutorials zum Boxplot in R




Hat dir der Beitrag geholfen?

Dann würde ich mich über eine kleine Spende freuen, die es mir erlaubt, weiterhin kostenfreie Inhalte zu veröffentlichen.
Alternativ kannst du über meinen Amazon Affiliate-Link einkaufen – ohne Zusatzkosten.

Vielen Dank und viel Erfolg!

Über mich

Björn Walther

Ein 💚 für Statistik & Datenanalyse

Excel Online-Kurs

YouTube-Kanal

Inhalt