Einführung in ggplot2 in R

Was ist ggplot?

ggplot2 ist eines das beste Paket in R zur Erstellung von 2D-Datenvisualisierungen

Es basiert auf dem Konzept der „Grammar of Graphics“, was ein Konzept ist um Grafiken durch eine Kombination von Bausteinen zu erstellen. Damit lassen sich komplexe Visualisierungen einfach erstellen und anpassen.

Was bedeutet „Grammar of Graphics“?

„Grammar of Graphics“ (auf Deutsch „Grammatik der Grafiken“) ist das theoretische Grundgerüst, auf dem ggplot2 basiert. Nach dieser Theorie lassen sich Grafiken durch eine Reihe grundlegender Bausteine und Prinzipien systematisch zusammensetzen. Jede Grafik besteht aus sechs wesentlichen Komponenten:

  • Daten – Die Rohdaten, die visualisiert werden sollen.
  • Statistische Transformationen – Diese umfassen Berechnungen, wie etwa das Erstellen von Mittelwerten, Histogrammen oder Boxplots.
  • Skalen – Hierbei wird festgelegt, wie die Daten auf den Achsen abgebildet werden, etwa linear oder logarithmisch.
  • Koordinatensysteme – Das häufigste ist das kartesische Koordinatensystem, aber ggplot2 unterstützt auch andere, wie zum Beispiel Polarkoordinaten.
  • Grafische Elemente (Geoms) – Dies sind die Grundelemente der Darstellung wie Punkte, Linien oder Balken.
  • Hilfselemente (Guides) – Dazu zählen Achsen, Legenden und Gitterlinien, die Orientierung und Vergleichbarkeit erleichtern.

Bearbeitung einer Grafik in ggplot2

Die Erstellung und Bearbeitung einer Grafik in ggplot2 erfolgt in vier Schritten:

  1. Spezifikation – Festlegen, welche Daten und Variablen wie dargestellt werden sollen.
  2. Zusammensetzen – Berechnen der statistischen Transformationen und Achsen und der Hilfselemente.
  3. Anzeigen – Also auf dem Bildschirm oder auch in einer Datei
  4. Überarbeiten – Feinjustierung des Designs und Anpassung der Parameter, um die Visualisierung zu verbessern.

ggplot2 setzt dabei auf sinnvolle Voreinstellungen, sodass man für eine einfache Grafik nur drei Hauptinformationen benötigt:

  • Daten: Der Datensatz, den man darstellen möchte.
  • Ästhetiken (Aesthetics aes): Das Mapping, welches die Variablen den Darstellungsobjekten zuweist.
  • Geometrien (Geoms, geom_): Die Darstellungsarten, wie etwa Punkte (Scatterplot), Balken (Barplot) oder Linien.

Installation und Vorbereitung

Als erstes muss ggplot2 in R installiert und geladen werden.

Alle Beispiele verwenden einen Datensatz, der ebenso als Paket installiert werden muss, nämlich das Paket palmerpenguins.

# Installieren und Laden der Pakete
install.packages("ggplot2")
install.packages("palmerpenguins")

library(ggplot2)
library(palmerpenguins)

Erste Schritte mit ggplot2

Im folgenden Beispiel erstellen wir ein einfaches Punktdiagramm, das die Länge und Tiefe des Schnabels von Pinguinen visualisiert.

ggplot(penguins) +
  aes(x = bill_length_mm, y = bill_depth_mm) +
  geom_point(color = "firebrick")

Hier verwenden wir:

ggplot(penguins), um den Datensatz festzulegen.

aes(x = bill_length_mm, y = bill_depth_mm), um die Spalten aus den Daten für die x- und y-Achse festzulegen.

geom_point(color = "firebrick"), um die Punkte der Grafik in der Farbe „firebrick“ darzustellen.

Hinzufügen weiterer Spalten und Farben

Der Nachteil vom ersten Plot ist, dass alle Pinguine die selbe Farbe haben. Wenn man die Farbe auch auf Basis der Daten festlegen möchte kann man in der aes()-Funktion color = species hinzufügen, dann hängt die Farbe von der Spalte species ab:

ggplot(penguins) +
  aes(x = bill_length_mm, y = bill_depth_mm, color = species) +
  geom_point()

Kombination von geom_-Funktionen

ggplot2 ermöglicht es, mehrere Geoms zu kombinieren. Im folgenden Beispiel kombinieren wir Punkte (geom_point()) mit Linien (geom_line()), um die Punkte zu verbinden:

ggplot(penguins) +
  aes(x = bill_length_mm, y = bill_depth_mm, color = species) +
  geom_point() +
  geom_line()

Histogramme erstellen

Ein Histogramm stellt dar wie häufig bestimmte Werte in den Daten sind. Dabei werden die Daten in sogenannte ‘bins’ zusammengefasst. Danach wird gezählt wieviele Datenpunkte pro ‘bin’ vorliegen. Dies ist eine statistische Transformation die bei geom_histogram() in ggplot bereits voreingestellt ist.

Dieses Beispiel zeigt die Verteilung der Schnabellängen:

ggplot(penguins) + 
  aes(x = bill_length_mm) + 
  geom_histogram(bins = 20)

Das Argument bins = 20 legt die Anzahl der Intervalle fest, in die die Daten unterteilt werden.

Farbige Histogramme

Wir können auch die Farbe der Histogramme basierend auf den Daten anpassen. Hierbei ist aber zu beachten, dass die Aesthetic color bei Histogrammen nur die Rahmenfarbe ändern würde. Um die Füllfarbe der Balken zu ändern, müssen wir das Schlüsselwort fill verwenden:

ggplot(penguins) + 
  aes(x = bill_length_mm, fill = species) + 
  geom_histogram(bins = 20)

Fazit

ggplot2 ist ein leistungsstarkes Tool zur Erstellung von ansprechenden und flexiblen Datenvisualisierungen in R.

Dieser Blogbeitrag zeigt den Code aus meinem Youtubetutorial:

https://youtu.be/PsrKcmpfwR0

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert