Histogramme und Boxplots mit ggplot2

Nun wollen wir die Verteilungen visuell darstellen. Wir können sowohl die Gesamtverteilung als auch die Verteilung nach Studiengängen betrachten.

Histogramme

# Histogramm der Altersverteilung
hist <- ggplot(df, aes(Alter)) +
  geom_histogram(binwidth = 1, color = "black", fill = "lightgrey") + 
  theme_bw() + 
  scale_x_continuous(breaks = seq(min(df$Alter), max(df$Alter), by = 1)) +  # Zeigt jedes Alter
  labs(title = "Histogramm - Altersverteilung", 
       y = "absolute Häufigkeit",
       x = "Alter")

# Nach Studiengang gruppiertes Histogramm
hist_grouped <- ggplot(df, aes(Alter, fill = Studiengang)) +
  geom_histogram(binwidth = 1, color = "black", alpha = 0.7) + 
  theme_bw() + 
  scale_x_continuous(breaks = seq(min(df$Alter), max(df$Alter), by = 1)) +  # Zeigt jedes Alter
  labs(title = "Histogramm - Altersverteilung nach Studiengang", 
       y = "absolute Häufigkeit",
       x = "Alter")

Boxplots

# Einfacher Boxplot
box1 <- ggplot(df, aes(y = Alter)) +
  geom_boxplot(fill = "lightgrey", size = 0.5) + 
  theme_bw() + 
  theme(axis.text.x = element_blank(), 
        axis.ticks.x = element_blank()) + 
  labs(title = "Boxplot - Altersverteilung")

# Boxplot nach Studiengang
box2 <- ggplot(df, aes(x = Studiengang, y = Alter, fill = Studiengang)) +
  geom_boxplot(size = 0.5) + 
  theme_bw() + 
  labs(title = "Boxplot - Altersverteilung nach Studiengang")

Mehrere Plots kombinieren mit gridExtra

Mit dem Paket gridExtra können wir mehrere Plots übersichtlich anordnen:

# Alle vier Plots in einem Grid anordnen
grid.arrange(hist, hist_grouped, box1, box2, 
             ncol = 2, 
             nrow = 2)

Diese Visualisierungen zeigen uns verschiedene Aspekte der Altersverteilung in unserem Datensatz:

  • Die generelle Verteilung über alle Studierende
  • Die Unterschiede zwischen den Studiengängen
  • Mögliche Ausreißer oder ungewöhnliche Muster

Probieren Sie diese Visualisierungen auch mit der Variable groesse_m aus oder wenden Sie sie auf eigene Datensätze an.