Diese Musterlösung wurde erstellt von Peter Hähner (Ruhr-Universität Bochum).
(c) Luhmann: R für Einsteiger, 5. Aufl., Beltz, 2020
Setzen Sie ein Arbeitsverzeichnis oder legen Sie ein entsprechendes R-Projekt an (Kap. 23).
Laden Sie dann die Datei erstis.RData.
load("erstis.RData")
Laden Sie die benötigten Pakete (ggf. müssen Sie diese vorab noch installieren).
library(ggplot2)
library(tidyverse)
library(patchwork)
Fassen Sie die folgenden vier Diagramme auf einer Seite zusammen:
gruppe (x-Achse) und prok (y-Achse)prok (x-Achse) und lz.1 (y-Achse) mit Loess-Kurvealtergruppe mit blauen SäulenLösung mit R-Basisfunktionen:
# Einstellungen so ändern, dass die Diagramme in 2 Zeilen und 2 Spalten angezeigt werden
par(mfrow = c(2, 2))
# Gruppierter Boxplot
boxplot(erstis$prok ~ erstis$gruppe,
xlab = "Gruppe", ylab = "Prokrastination")
# Streudiagramm mit Loess-Kurve
plot(erstis$lz.1 ~ erstis$prok,
xlab = "Prokrastination", ylab = "Lebenszufriedenheit")
auswahl <- na.omit(select(erstis, lz.1, prok))
lines(lowess(auswahl$lz.1 ~ auswahl$prok))
# Histogramm
hist(erstis$alter, xlab = "alter", ylab = "Häufigkeit", main = "")
# Säulendiagramm
barplot(table(erstis$gruppe), xlab = "Gruppe", ylab = "Häufigkeit",
col = 4)
Lösung mit ggplot2:
Hier werden alle Diagramme zunächst in Objekten gespeichert.
# Gruppierter Boxplot
p1 <- ggplot(erstis, aes(y = prok, x = gruppe)) +
geom_boxplot() +
xlab("Gruppe") +
ylab("Prokrastination")
# Streudiagramm mit Loess-Kurve
p2 <- ggplot(erstis, aes(x = prok, y = lz.1)) +
geom_point() +
stat_smooth(method = loess) +
xlab("Prokrastination") +
ylab("Lebenszufriedenheit")
# Histogramm
p3 <- ggplot(erstis, aes(x = alter)) +
geom_histogram() +
xlab("Alter") +
ylab("Häufigkeit")
# Säulendiagramm
p4 <- ggplot(erstis, aes(x = wohnort.alt)) +
geom_bar(col = "blue", fill = "blue") +
xlab("Gruppe") +
ylab("Häufigkeit")
Im nächsten Schritt werden die Diagramme in 2 Zeilen und 2 Spalten angeordnet. Dafür muss das patchwork-Paket geladen sein (wurde oben bereits gemacht).
(p1 + p2) / (p3 + p4)
Erstellen Sie ein Streudiagramm für die Variable gewiss (x-Achse) und prok(y-Achse). Berücksichtigen Sie dabei die folgenden Punkte:
Lösung mit R-Basisfunktionen:
# Optional: Randbreite des Diagramms ändern
par(mar = c(5,6,4,1))
# Diagramm erstellen
plot(erstis$prok ~ erstis$gewiss,
main = "Gewissenhaftigkeit und Prokrastination",
xlab = "Gewissenhaftigkeit",
ylab = "Prokrastination",
col.lab = "red",
cex.lab = 2,
xlim = c(1, 5),
ylim = c(1, 5),
col = "blue",
pch = 16)
Lösung mit ggplot2:
ggplot(erstis, aes(x = gewiss, y = prok)) +
geom_point(col = "blue") +
scale_x_continuous(limits = c(1, 5),
name = "Gewissenhaftigkeit") +
scale_y_continuous(limits = c(1, 5),
name = "Prokrastination") +
ggtitle("Gewissenhaftigkeit und Prokrastination") +
theme(axis.title.x = element_text(size = rel(2), colour = "red"),
axis.title.y = element_text(size = rel(2), colour = "red"))