# Hausaufgaben, 5. Woche
###### tags: `Vl Datenanalyse 21/22`
Wenn Sie fertig sind, geben Sie bitte an, wie Sie mit den Aufgaben zurecht gekommen sind: [Link zur Umfrage](https://www.surveymonkey.de/r/32DDW3W)
## Aufgabe 1: Konfidenzintervalle
**(a)** Berechnen Sie nochmals, wie schon in der Hausaufgabe zur 2. Woche, die Mittelwerte der Körpergrößen der Probanden der NHANES-Studie, wieder nur über die Erwachsenen, und wieder aufgeschlüsselt nach Ethnie und Geschlecht. Berechnen Sie für jeden Mittelwert auch den zugehörigen Standardfehler.
Ihre Tabelle sollte also so aussehen:
```
# A tibble: 12 × 6
ethnicity gender mean_height sd_height n sem_height
<chr> <chr> <dbl> <dbl> <int> <dbl>
1 Mexican female 157. 6.26 377 0.322
2 Mexican male 170. 7.17 362 0.377
3 NH Asian female 156. 5.77 418 0.282
4 NH Asian male 170. 6.90 366 0.360
5 NH Black female 162. 6.86 667 0.266
6 NH Black male 176. 7.55 594 0.310
7 NH White female 161. 6.83 947 0.222
8 NH White male 175. 7.07 926 0.232
9 Other Hispanic female 157. 6.89 277 0.414
10 Other Hispanic male 169. 7.22 228 0.478
11 Other/Mixed female 162. 6.43 128 0.568
12 Other/Mixed male 176. 7.74 154 0.623
```
**(b)** Berechnen Sie nun auch die zu den mittelwerten gehörigen 95%-Konfidenzintervalle. Stellen Sie dann MIttelwerte und 95%-Konfidenzintervalle in einem Plot dar, z.B., so:

**(c\)** Denken Sie, dass der Unterschied zwischen Mexikanern und Weißen statistisch signifikant ist? Wie beurteilen Sie den Unterschied zwischen Schwarzen und Weißen?
## Aufgabe 2: Pivoting
**(a)** Erzeugen Sie nochmals die Tabelle aus Aufgabe 1a und speichern Sie sie in einer Variablen `tbl1`.
Was bewirkt der folgende Code:
```{r}
tbl %>%
select( ethnicity, gender, mean_height ) %>%
pivot_wider( names_from="gender", values_from="mean_height" )
```
Finden Sie heraus, was die beiden Funktionen `select` und `pivot_wider` bewirken.
## Aufgabe 3: Simpson-Paradoxon
In den 70er-Jahren begann man an der University of California in Berkeley darüber nachzudenken, ob die Chance, an der Uni einen Studienplatz zu erhalten, für Männer und Frauen wirklich gleich ist. Die Tabelle `berkeley.csv`, die Sie in Moodle herunter laden können, verzeichnet alle Personen, die sich in einem bestimmten Jahr um einen Studienplatz beworben haben. Die Spalte `gender` gibt das Geschlecht des Bewerbers an, die Spalte `admitted`, ob die Bewerbung erfolgreich war.
**(a)** Erstellen Sie eine Tabelle, die Angibt, welcher Anteil der weiblichen und welcher Anteil der männlichen Bewerber einen Studienplatz erhalten haben.
Sie sollten dieses Ergebnis erhalten:
| gender | admitted |
|--------|----------|
| Female | 30.6% |
| Male | 44.5% |
Es scheint also so, als ob damals Frauen systematisch benachteiligt wurden.
Berkely war damals in 6 Fakultäten ("departments") eingeteilt. In der Tabelle zeigt Ihnen die Spalte `dept`, bei welcher Fakultät sich die Person jeweils beworben hatte. Leider weiß ich nicht, welcher Buchstabe für welche Fakultät stand, aber unter den 6 Fakultäten war sicher eine für Ingenieurwissenschaften, eine für Geisteswissenschaften, eine für Lebens- und/oder Naturwissenschaften usw.
Die Vermutung lag damals nahe, dass die Auswahlkomissionen einiger Fakultäten Vorurteilen gegen Frauen hatten. Um dies zu untersuchen, sollten wir die Erfolgsquote der Bewerber nicht nur (wie oben) nach Geschlecht, sondern auch anch Fakultät aufschlüsseln. Führen Sie diese Analyse durch. Sie sollten diese Tabelle erhalten:
*Anteil erfolgreicher Bewerber:*
|Dept | Female| Male|
|:----|-------:|-----:|
|A | 82.4%| 62.1%|
|B | 68.0%| 63.0%|
|C | 34.1%| 36.9%|
|D | 34.9%| 33.1%|
|E | 23.9%| 27.7%|
|F | 7.0%| 5.9%|
Nun scheint es, dass die Mehrzahl der Fakultäten Frauen bevorzugt -- ganz besonders Fakultät A. Wie passt das zu dem Ergebnis der ersten Analyse?
**(b)** Können Sie den scheinbaren Widerspruch zwischen den beiden Tabellen erklären? Schauen Sie sich dazu an, *wie viele* Frauen und Männer sich jeweils bei den einzelnen Fakultäten beworben haben.
## Aufgabe 4: Erzeugen der NHANES-Tabelle
Die Tabelle `nhanes.csv`, mit der Sie bisher gearbeitet haben, hatte ich für Sie vorbereitet. In dieser Aufgabe werden Sie sie selbst erzeugen.
**(a)** Suchen Sie auf der Webseite des NHANES-Projekts die Datentabelle `DEMO_J.XPT` (mit den demographischen Daten zu den Probanden des NHANES-Durchgangs "J" von 2017/18) und laden Sie sie herunter.
Da die Statistiker bei NHANES nicht mit R arbeiten, sondern mit SAS (einem anderem Statistik-Paket), ist die Tabelle im SAS-spezifischen Format "XPT" gespeichert. Um solche Tabellen zu laden, kann man in R die Funktion `read_xpt` verwenden, die im Paket `haven` definiert ist.
Laden Sie das `haven`-Paket und verwenden Sie dann `read_xpt`, um die Tabelle zu laden.
**(b)** Die Tabelle hat 46 Spalten mit recht kryptischen Abkürzungen als Spalten-Überschriften. Sehen Sie dich das zu DEMO_J gehörige Codebuch auf der NHANES-Webseite an und machen Sie sich mit den Spalten vertraut. Wir benötigen die Probanen-ID, das Alter in Jahren, das Geschlecht, und die Ethnie.
Mit der Funktion `select` können Sie Spalten auswählen und umbennen. Zum Beispiel wählt `tbl %>% select( a, b )` aus der Tabelle `tbl` die Spalten `a` und `b` aus und entfernt allle anderen Spalten. Wenn Sie schreiben `tbl %>% select( x=a, y=b )` werden die Spalten außerdem noch von `a` und `b` in `x` und `y` umbenannt.
Erzeugen Sie so unsere gewohnte `nhanes`-Tabelle mit den Spalten `subjectId`, `gender`, `age`, und `ethnicity`.
**(c\)** Sie werden bemerkt haben, dass in der Spalte `gender` Codes verwendet werden, nämlich 1 für männlich und 2 für weiblich. Die folgende Zeile hilft Ihnen, die Codes durch aussagekräftigere Bezeichnungen zu ersetzen:
```
tbl %>% mutate( gender = fct_recode( factor(gender),
"male"="1", "female"="2" ) )
```
Ersetzen Sie auf diese Weise die Code-Zahlen in den Spalten `gender` und `ethnicity` durch beschreibende Strings. Schlagen Sie dazu die Bedeutung der Codes im Codebuch nach.
**(d)** Nun fehlen uns noch die Spalten `height` und `weight` mit Körpergröße und Gewicht. Diese sind nicht Teil der demographischen Daten, sondern finden sich in der Tabelle `BMX_J.XPT`, die die "body measurements" enthält.
Finden Sie diese Datei, laden Sie sie herunter, und gehen Sie dann wieder genauso vor wie mit der Tabelle mit den demographischen Daten: Laden Sie sie die Tabelle in R, entfernen Sie alle Spalten außer Probanden-ID, Körpergröße und Gewicht, und ersetzen Sie die kryptischen Spaltennamen durch `subjectId`, `height` und `weight`.
**(e)** Nun haben wir zwei Tabellen. Die umgeformte Tabelle mit Probanden-ID (`subjectID`), Geschlecht, Alter, und Ethnie haben Sie vielleicht in einer Variable `tbl_demo` vorliegen, und die Tabelle mit Probanden-ID, Körpergröße, und Gewicht in einer Tabelle `tbl_bmx`. Wir möchten nun die beiden Tabellen zu einer Tabelle zusammen fassen.
Beide Tabellen einfach nebeneinander zu setzen, geht nicht: Manche Probanden kommen nur in einer der beiden Tabellen vor. Auch ist die Reihenfolge der Zeilen nicht dieselbe.
Also müssen wir aus beiden Tabellen jeweils immer genau diejenigen Zeilen zu einer Zeile zusammen fassen, die dieselbe Probanden-ID haben. Eine solche Operation, bei der zwei Tabellen zusammen gefasst werden anhand gewisser Schlüssel-Spalten, die übereinstimmen sollen, nennt man einen **Table-Join**.
In Tidyverse geht das so:
```
inner_join( tbl_demo, tbl_bmx, by="subjectId" )
```
Probieren Sie das aus. Vergleich Sie dann die so erhaltene Tabelle mit der Tabelle aus Moodle. Stimmen die Tabellen überein?
## Umfrage
Bitte geben Sie nun an, wie Sie mit den Aufgaben zurecht gekommen sind: [Link zur Umfrage](https://www.surveymonkey.de/r/32DDW3W)