Kapitel 4 Einführung in ggplot2
-
Aufbau des Aufrufs der Funktion
ggplot()
kennen - fünf wichtigste Grafiktypen kennen und einsetzten
4.1 Aufbau eines Visualisierungsbefehls
Das Paket ggplot2
ist ein sehr mächtiges Visualisierungswerkzeug. Der Name steht für “the grammar of graphics”. Das bedeutet, dass man mithilfe von verschiedenen Funktion in ggplot2
seine Grafik Schritt für Schritt aufbaut, wie einen (grammatikalisch korrekten) Satz. In aller Kürze bedeutet das:
Eine statistische Grafik ist eine Zuordnung (
mapping
) von Variablen in einem Datensatz (data
) zu (ästhetischen) Attributen (aes
) von geometrischen Objekten (geom
).
Wir müssen also für das Visualisieren Folgendes festlegen:
data
: der Datensatz, der die Variablen enthält, die wir darstellen möchten.aes
: (ästhetische) Attribute für die geometrischen Objekte, die dargestellt werden sollen. Diese Attribute sind, z.B. die x und y Koordinaten, Farbe, Form und Größe der geometrischen Objektegeom
: geometrische Objekte, die dargestellt werden sollen, z.B. Punkte, Linien, Boxen, Säulen etc.
Wir laden zunächst die nötigen Bibliotheken und filtern den Datensatz gapminder
, um nur die Daten aus dem Jahr 2007 zu visualisieren.
4.2 Punktdiagramm
Ein typischer Befehl zur Visualisierung würde also so aussehen:
ggplot(data = gapminder2007, mapping = aes(x = gdpPercap, y = lifeExp, color = continent, size = pop)) +
geom_point()
In Worten könnte man es vielleicht wie folgt umschreiben:
Nimm den Datensatz (
data
)gapminder
und-
ordne folgende Attribute zu:
- auf die x-Achse die Variable
gdpPercap
- auf die y-Achse die Variable
lifeExp
- färbe ein mithilfe der Variablen
continent
- bestimme die Größe der Symbole mithilfe der Variablen
pop
- auf die x-Achse die Variable
Stelle das Ganze als geometrisches Objekte Punkte dar (
geom_point()
)
Sie sehen, dass diese Zuordnungen klar nach einer Legende verlangen, die dann auch automatisch, sowohl für die Farbe als auch für die Größe der Symbole, erstellt wird.
Die Anweisungen zur Visualisierung in ggplot2
werden mit einem +
verbunden. Man kann (und in diesem Fall soll) weitere Anweisungen geben. Z.B. sind die Beschriftungen der beiden Achsen so nichtssagend und müssen verbessert werden. Wir hängen mit einem +
-Zeichen weitere Befehle hinzu:
ggplot(data = gapminder2007, mapping = aes(x = gdpPercap, y = lifeExp, color = continent, size = pop)) +
geom_point() +
labs(x = 'Bruttoinlandsprodukt pro Kopf (US$)', y = 'Lebenserwartung (Jahre)',
color = 'Kontinent', size = 'Bevölkerung')
4.3 Weitere geoms
Das geom_point()
produziert eine xy-Grafik (scatter plot). Weiter wichtige Grafiktypen sind
-
geom_line()
: Linien -
geom_histogram()
: Histogramm -
geom_boxplot()
: Boxplot -
geom_bar()
: Säulen
4.4 Liniendiagramm
Es ergibt wenig Sinn, die obere Grafik mit Linien darzustellen. Allerdings eignen sich Linien ausgezeichnet, um einen zeitlichen Verlauf zu visualisieren. Daher filtern wir aus dem Datensatz gapminder
die Zeitreihen für Frankreich und Deutschland heraus. Weil wir jetzt zwei Länder haben möchten, muss beim Filtern ein Vektor mit Ländernamen angegeben werden und statt ==
der Operator %in%
. Wir werden später noch ausführlich auf diese Operatoren zurückkommen.
4.5 Histogramm
Wie ist das GDP im Jahre 2007 in Afrika und Europa verteilt? Dazu nutzen wir das Histogramm und filtern die Daten vorher entsprechend. Als Ästhetik eignet sich hier fill
besser als color
.
4.6 Boxplot
Wie ist das GDP im Jahre 2007 auf verschiedenen Kontinenten verteilt? Ein Histogramm mit allen Kontinenten würde schnell sehr unübersichtlich werden. Das geht mit einem Boxplot besser.
ggplot(gapminder2007, mapping = aes(x = continent, y = gdpPercap)) +
geom_boxplot()
4.7 Säulendiagramm
Wie viele Einträge gibt es pro Kontinent? Das Säulendiagramm zählt für uns die Einträge im Datensatz zusammen
4.8 Lesestoff
Kapitel 2.1 in Ismay and Kim (2021)
4.9 Aufgaben
4.9.1 Grafiken richtig beschriften
Bis auf die Grafik in 4.4 fehlen bei den Grafiken oben ordentliche Achsenbeschriftungen und Titel für die Legenden. Ergänzen Sie den Code entsprechend.