ggplot(dat.studenten, aes(x=Wohnform, y=Geschlecht)) + geom_point()Lösungen Aufgaben 1
Aufgabe 1.1: Grafiken mit ggplot2
Verschaffen Sie sich einen Überblick über die Datentabelle dat.studenten aus dem Paket DA.students, und finden Sie Antworten auf die folgenden Fragen
Wie viele Studentinnen und Studenten wurden insgesamt befragt?
Wie viele Merkmale wurden abgefragt?
Gibt es einen Zusammenhang zwischen dem Alter des Vaters und dem Alter der jeweils befragten Person? (Was erwarten Sie? Stellen Sie eine Hypothese auf.)
Ändern Sie den Grafen aus dem vorherigen Aufgabenteil derart, dass Sie einen Eindruck davon bekommen, wie viele Beobachtungen hinter jedem Datenpunkt stecken.
Was steht im Merkmal
MatheZufr?Warum ist ein Standard-Streudiagramm, das man mit
erzeugt, nutzlos?
Welche der Merkmale in der Datentabelle sind kategorial, welche metrisch?
Erstellen Sie einen Graphen, der den Altersunterschied zwischen der Studentin/ dem Student und dem Vater gegen den Alterssunterschied zwischen der Studentin/ dem Student und der Mutter gegeneinander aufträgt. Tipp: Es ist möglich den Aesthetics auch Summen oder Differenzen von Merkmalen zuzuordnen.
Zeichnen Sie in den im vorherigen Aufgabenteil erstellten Graphen die Wohnform mit ein. Was fällt auf?
Lösung
# Lade die Notwendigen Pakete:
library(pacman) # Lade pacman (Paketmanager)
p_load(tidyverse, DA.students) # Lade / Installiere Tidyverse und DA.studentsBemerkung: Das Paket DA.students kann nicht über den Befehl p_load() installiert werden, da es nicht auf CRAN ist, sondern muss lokal installiert gespeichert und dann installiert werden!
# i) / ii):
dat.studenten# A tibble: 1,254 × 9
Alter Groesse Geschlecht AlterV AlterM AnzSchuhe NoteMathe MatheZufr Wohnform
<dbl> <dbl> <fct> <dbl> <dbl> <dbl> <dbl> <fct> <chr>
1 19 168 weiblich 54 50 90 3 geht so WG
2 20 165 weiblich 52 52 100 3 geht so Eltern
3 23 190 männlich 60 53 10 NA <NA> WG
4 19 178 männlich 51 46 11 4 unzufrie… Eltern
5 25 170 weiblich 59 54 25 2.3 zufrieden Eltern
6 20 169 weiblich 55 54 30 1.7 sehr zuf… Eltern
7 22 175 weiblich 49 56 60 2.7 zufrieden Sonstige
8 23 177 männlich 55 50 70 2.3 sehr zuf… WG
9 21 189 männlich 50 50 10 5 unzufrie… Eltern
10 21 183 männlich 54 54 6 2.7 zufrieden Eltern
# ℹ 1,244 more rows
- 9 Spalten: Merkmale
- 1254 Zeilen: Beobachtungen / Anzahl der Studenten
# iii) / iv): erzeuge Streudiagramm: (alpha für bessere Sichtbakeit)
ggplot(data = dat.studenten,
mapping = aes(x = AlterV, y = Alter)) +
geom_point(alpha = 0.15) +
geom_smooth()
# v)
ggplot(data = dat.studenten) +
geom_point(aes(x = Wohnform, y= Geschlecht), alpha = 0.01)
ggplot(data = dat.studenten) +
geom_bar(aes(x = Wohnform, fill = Geschlecht))
ggplot(data = dat.studenten) +
geom_bar(aes(x = Wohnform, fill = Geschlecht), position = "dodge")
<dbl>: double (Fließkommazahl)<fct>: factor (kategoriales Merkmal)<chr>: character (kategoriales Merkmal)<ord>: ordered factor (ordinales Merkmal)
- metrisch: Alter, Groesse, AlterV, AlterM, AnzSchuhe, NoteMathe
- kategorial: Geschlecht, MatheZufr, Wohnform
- (eigentlich ordinal: MatheZufr, NoteMathe)
Zusatzinformationen:
p_load(patchwork) # um Gafiken nebeneinander zu setzen
p1 <- ggplot(data = dat.studenten) +
geom_point(mapping = aes(x = AlterV, y = Alter, color = Geschlecht),
alpha = 0.25)
p2 <- ggplot(data = dat.studenten) +
geom_point(mapping = aes(x = AlterV, y = Alter),
color = "blue",
alpha = 0.1)
(p1|p2)
Aufgabe 1.2: Facetten und Boxplot
Sie benötigen den Datensatz: dat.studenten aus dem Paket DA.students.
- Stellen Sie den Zusammenhang zwischen Schuhpaaranzahl und Alter der Person dar. Was fällt auf?
- Färben Sie die Punkte in der vorherigen Grafik je nach Geschlecht. Was fällt auf?
- Zeichen Sie für die ursprünglichen Graphik je Geschlecht eine Facette. Was sind die Vor- und Nachteile dieser Grafik im Vergleich zur eingefärbten?
- Zeichnen Sie nun je Geschlecht eine Facette mit dem Boxplot der Schuhpaaranzahl um Ihre Vermutung aus den vorherigen Aufgabenteilen zu bestätigen.
Lösung
library(pacman)
p_load(tidyverse, DA.students, patchwork)
# Mit dem Paket patchwork können die Grafiken angeordnet werden.# i)
G1 <- dat.studenten |> ggplot(aes(x = Alter, y= AnzSchuhe)) +
geom_point(alpha = 0.2)
G2 <- dat.studenten |> ggplot(aes(x = Alter, y= AnzSchuhe)) +
geom_jitter(alpha = 0.1, height = 0)
(G1|G2)
# ii)
G3 <- dat.studenten |> ggplot(aes(x = Alter, y= AnzSchuhe,
color = Geschlecht)) +
geom_point(alpha = 0.2)
G4 <- dat.studenten |> ggplot(aes(x = Alter, y= AnzSchuhe,
color = Geschlecht)) +
geom_jitter(alpha = 0.1, height = 0)
(G3|G4)
# iii)
dat.studenten |> ggplot(aes(x = Alter, y= AnzSchuhe)) +
geom_point(alpha = 0.2) +
facet_wrap (~Geschlecht)
# iv)
dat.studenten |> ggplot(aes(x = Geschlecht, y = AnzSchuhe)) +
geom_boxplot() 
dat.studenten |> ggplot(aes(y = AnzSchuhe, x = "")) +
geom_boxplot() +
facet_wrap(~Geschlecht)
Aufgabe 1.3: Säulendiagramme
Sie benötigen den Datensatz: dat.studenten aus dem Paket DA.students.
Analysieren Sie mit nach dem Geschlecht gruppierten Säulendiagrammen den Zusammenhang zwischen der Wohnform und dem Geschlecht. Verwenden Sie die dazu die Einstellungen stack, fill und dodge für den Parameterposition der geom_bar()-Funktion und klären Sie folgende Fragen:
- Wurden mehr Frauen oder mehr Männer befragt?
- Bei welchem Geschlecht ist der Anteil der Personen höher, die in einer WG wohnen?
- Leben von den Befragten mehr Frauen oder mehr Männer in einem Appartement?
Lösung
# Laden der Pakete:
library(pacman)
p_load(tidyverse, DA.students)# i)
ggplot(data = dat.studenten) +
geom_bar(aes(x = Geschlecht))
ggplot(dat.studenten) +
geom_bar(aes(x = Geschlecht, fill = Wohnform))
# ii)
ggplot(data = dat.studenten) +
geom_bar(aes(x = Wohnform, fill = Geschlecht)) 
# entspricht position = "stack"
ggplot(data = dat.studenten) +
geom_bar(aes(x = Wohnform, fill = Geschlecht), position = "dodge")
# Um den Anteil sichtbar zu machen:
ggplot(data = dat.studenten) +
geom_bar(aes(x = Wohnform,
y = after_stat(prop),
group = Geschlecht,
fill = Geschlecht), position = "dodge")
Im letzten Diagramm werden jeweils Männer und Frauen auf 100% skaliert. Man kann also erkennen, dass circa 65% der Männer, aber nur etwas über 40% der Frauen noch bei den Eltern leben.
# iii)
ggplot(dat.studenten) +
geom_bar(aes(x = Geschlecht, fill = Wohnform), position = "dodge")
Aufgabe 1.4: Säulen- und Balkendiagramme
Sie benötigen den Datensatz: dat.studenten aus dem Paket DA.students.
Veranschaulichen Sie die Verteilung der Zufriedenheit mit der Mathenoten (Merkmal: MatheZufr) jeweils in einem Säulen- und in einem Balkendiagramm. Welches Diagramm ist dafür besser geeignet?
Lösung
library(pacman)
p_load(tidyverse, DA.students)
ggplot(dat.studenten) +
geom_bar(aes(x = MatheZufr))
ggplot(dat.studenten) +
geom_bar(aes(x = MatheZufr)) +
coord_flip()
ggplot(dat.studenten) +
geom_bar(aes(y = MatheZufr, fill = Geschlecht),
position = "dodge")