Boxplots
Einführung
Boxplots sind gut geeignet um schnell einen Überblick über Verteilungen von Daten zu erhalten und zu vergleichen. Sie stellen die Kennzahlen Minimum, Maximum, Median und die 25% unnd 75% Quartile dar. Man kann aber im Boxplot auch Ausreißer einzeln anzeigen lassen. Dieser Beitrag handelt davon, wie man Boxplots mit ggplot2 in R erstellt und anpasst.
Voraussetzungen
Wir benötigen die folgenden Pakete:
# Installation, falls noch nicht installiert install.packages("ggplot2") install.packages("palmerpenguins")
# Laden der Pakete library(ggplot2) library(palmerpenguins)
Der penguins-Datensatz enthält Informationen über verschiedene Pinguinarten. Hier wird vorallem die Variable bill_length_mm (Schnabellänge in Millimetern) genutzt.
Einfache Boxplots
ggplot(penguins) + aes(y = bill_length_mm) + geom_boxplot()
Die für den Boxplot genutzten Quartile können auch selbst berechnet werden:
quantile(penguins$bill_length_mm, na.rm = TRUE)
0% 25% 50% 75% 100% 32.100 39.225 44.450 48.500 59.600
Dabei ist das untere Ende des Plots, also auch das untere Ende des Whiskers der Wert für das Minimum in den Daten, also das 0%-Quartil.
Die Box beginnt bei 25%, der Strich in der Box ist der Median, oder auch das 50% Quartil. Das obere Ende der Box ist entsprechend das 75% Quartil und das obere Ende des Whiskers entspricht dem 100% Quartil, also dem Maximum.
Horizontaler Boxplot
Der Boxplot lässt sich auch horizontal erstellen, indem einfach die x-Achse in aes() gesetzt wird:
ggplot(penguins) + aes(x = bill_length_mm) + geom_boxplot()
Boxplots Gruppieren
Um die Schnabellängen nach den Arten der Pinguine zu vergleichen, wird die Variable species hinzugefügt:
ggplot(penguins) + aes(x = species, y = bill_length_mm) + geom_boxplot()
Gruppieren nach Farben
Anstatt nur über die x-Achse die Gruppierung der Pinguindaten zu erstellen, lässt sich das auch über die color-aesthetics machen:
ggplot(penguins) + aes(y = bill_length_mm, color = species) + geom_boxplot()
Umgang mit Ausreißern
Ausreißer anzeigen und konfigurieren mit coef
Das Argument coef
in der geom_boxplot()
-Funktion steuert, wie weit Ausreißer entfernt sein müssen, um als eigener Punkt angezeigt zu werden. Der Standardwert ist 1.5. Hier ist ein Beispiel mit dem Standardwert:
ggplot(penguins) + aes(x = species, y = bill_length_mm) + geom_boxplot(coef = 1.5)
Ein niedrigerer coef
-Wert führt zu mehr Ausreißern:
ggplot(penguins) + aes(x = species, y = bill_length_mm) + geom_boxplot(coef = 1)
coef
steht dabei für die Länge des Whiskers relativ zur Höhe der Box. Bei coef=1
ist der Whisker also so hoch wie die Box, und alles darüber hinaus wird als Ausreißer gezählt.
Ausreißer anders darstellen
Die Darstellung der Ausreißer kann angepasst werden, z. B. durch Farbe oder Symbol:
ggplot(penguins) + aes(x = species, y = bill_length_mm) + geom_boxplot(outlier.color = "firebrick", outlier.shape = 1)