Rows: 8704 Columns: 6
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): gender, ethnicity
dbl (4): subjectId, age, height, weight
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
nhanes
# A tibble: 8,704 × 6
subjectId gender age height weight ethnicity
<dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 93703 female 2 88.6 13.7 NH Asian
2 93704 male 2 94.2 13.9 NH White
3 93705 female 66 158. 79.5 NH Black
4 93706 male 18 176. 66.3 NH Asian
5 93707 male 13 158. 45.4 Other/Mixed
6 93708 female 66 150. 53.5 NH Asian
7 93709 female 75 151. 88.8 NH Black
8 93710 female 0 NA 10.2 NH White
9 93711 male 56 171. 62.1 NH Asian
10 93712 male 18 173. 58.9 Mexican
# ℹ 8,694 more rows
b) Gruppieren Sie nach Geschlecht und Ethnie. Zählen Sie für jede Gruppe getrennt, wie viele Probanden insgesamt in der Gruppe sind, und wie viele über 190 cm groß sind.
`summarise()` has grouped output by 'gender'. You can override using the
`.groups` argument.
# A tibble: 12 × 3
# Groups: gender [2]
gender ethnicity Taller_than_sixft
<chr> <chr> <int>
1 female Mexican 0
2 female NH Asian 0
3 female NH Black 0
4 female NH White 0
5 female Other Hispanic 0
6 female Other/Mixed 0
7 male Mexican 1
8 male NH Asian 0
9 male NH Black 25
10 male NH White 14
11 male Other Hispanic 0
12 male Other/Mixed 5
c) Berechnen Sie für jede Gruppe den prozentualen Anteil an Über-1.9-Meter-Probanden.
`summarise()` has grouped output by 'gender'. You can override using the
`.groups` argument.
# A tibble: 12 × 3
# Groups: gender [2]
gender ethnicity Avg_Height
<chr> <chr> <dbl>
1 female Mexican 148.
2 female NH Asian 150.
3 female NH Black 155.
4 female NH White 152.
5 female Other Hispanic 151.
6 female Other/Mixed 147.
7 male Mexican 160.
8 male NH Asian 162.
9 male NH Black 162.
10 male NH White 164.
11 male Other Hispanic 158.
12 male Other/Mixed 160.
Schlüsseln Sie diesmal nach Geschlecht und Alter auf.
`summarise()` has grouped output by 'gender'. You can override using the
`.groups` argument.
Warning: Removed 4 rows containing missing values or values outside the scale range
(`geom_point()`).
Vielleicht hilft es, in der x-Achse des Plots hineinzuzoomen, und die Achse nur von 0 bis 30 Jahre laufen zu lassen. Googlen Sie, wie man den auf der Achse dargestellten Wertebereich (“axis limits”) ändert, wenn man “ggplot” verwendet.
`summarise()` has grouped output by 'gender'. You can override using the
`.groups` argument.
Warning: Removed 104 rows containing missing values or values outside the scale range
(`geom_point()`).
Aufgabe 3
Bauen Sie Schritt für Schritt eine Tidyverse-Pipeline wie folgt auf:
Beginnen Sie mit der NHANES-Tabelle
Entfernen Sie Probanden, wo die Körpergröße oder das Gewicht fehlt, sowie Probanden mit Alter unter 18 Jahren.
Fügen Sie eine Spalte bmi hinzu, die den Body-Mass-Index berechnet.
nhanes %>%filter(!is.na(height), !is.na(weight), age >=18) %>%mutate(BMI = weight/(height/100)^2)
# A tibble: 5,434 × 7
subjectId gender age height weight ethnicity BMI
<dbl> <chr> <dbl> <dbl> <dbl> <chr> <dbl>
1 93705 female 66 158. 79.5 NH Black 31.7
2 93706 male 18 176. 66.3 NH Asian 21.5
3 93708 female 66 150. 53.5 NH Asian 23.7
4 93709 female 75 151. 88.8 NH Black 38.9
5 93711 male 56 171. 62.1 NH Asian 21.3
6 93712 male 18 173. 58.9 Mexican 19.7
7 93713 male 67 179. 74.9 NH White 23.5
8 93714 female 54 148. 87.1 NH Black 39.9
9 93715 male 71 171. 65.6 Other/Mixed 22.5
10 93716 male 61 159. 77.7 NH Asian 30.7
# ℹ 5,424 more rows
Erwachsene mit einem BMI über 25 gelten laut WHO-Leitlinien als übergewichtig. Bei einem BMI über 30 liegt krankhaftes Übergewicht (“Adipositas”) vor. Zählen Sie, wie viele Probanden übergewichtig sind und wie viele adipös.
`summarise()` has grouped output by 'gender'. You can override using the
`.groups` argument.
nhanes_BMI_overweight
# A tibble: 12 × 7
# Groups: gender [2]
gender ethnicity Subjects Overweight Overweight_Percentage Obese
<chr> <chr> <int> <int> <dbl> <int>
1 female Mexican 376 312 83.0 187
2 female NH Asian 418 195 46.7 67
3 female NH Black 667 540 81.0 385
4 female NH White 945 663 70.2 402
5 female Other Hispanic 277 211 76.2 111
6 female Other/Mixed 128 90 70.3 64
7 male Mexican 362 307 84.8 167
8 male NH Asian 366 225 61.5 57
9 male NH Black 593 412 69.5 234
10 male NH White 920 690 75 399
11 male Other Hispanic 228 193 84.6 86
12 male Other/Mixed 154 114 74.0 68
# ℹ 1 more variable: Obese_Percentage <dbl>
Ersatzergebnis: Das korrekte Ergebnis, zum Vergleichen:
read_csv("data_on_git/nhanes_bmi_smr.csv")
Rows: 12 Columns: 7
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): gender, ethnicity
dbl (5): n, n_overweight, n_obese, percent_overweight, percent_obese
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# A tibble: 12 × 7
gender ethnicity n n_overweight n_obese percent_overweight percent_obese
<chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 female Mexican 376 312 187 0.830 0.497
2 female NH Asian 418 195 67 0.467 0.160
3 female NH Black 667 540 385 0.810 0.577
4 female NH White 945 663 402 0.702 0.425
5 female Other His… 277 211 111 0.762 0.401
6 female Other/Mix… 128 90 64 0.703 0.5
7 male Mexican 362 307 167 0.848 0.461
8 male NH Asian 366 225 57 0.615 0.156
9 male NH Black 593 412 234 0.695 0.395
10 male NH White 920 690 399 0.75 0.434
11 male Other His… 228 193 86 0.846 0.377
12 male Other/Mix… 154 114 68 0.740 0.442
Erstellen Sie nun ein Diagramm der Übergewichts-Anteile. Verwenden Sie Ethnie als x-Achse, Prozent übergewichtig als y-Achse, und stellen Sie das Geschlecht durch die Farbe dar. Ersetzen Sie dann geom_point( aes(...) ) durch geom_col( aes(...), position="dodge") und dann noch col durch fill. Sie sollten ein Säulendiagramm (auch Balkendiagramm genannt, engl. bar chart)
nhanes_BMI_overweight %>% ggplot +geom_col(aes(x = ethnicity, y = Overweight_Percentage, fill= gender), position=position_dodge(1)) +labs(y ="Percentage of Overweight Subjects")