In diesem Kapitel soll es um das Auswählen von Fällen (Cases) gehen, oft auch »Filtering « genannt.
Beispiel 1: Gentoo only
Möchte man beispielsweise das arithmetische Mittel der Schnabellänge nur der Gentoo berechnen, muss man als erstes nur die Zeilen auswählen, für die species == "Gentoo TRUE ergibt. Im tidyverse verwendet man dazu die Funktion filter() aus dem Paket {dplyr}.
penguins %>%
filter (species == "Gentoo" )
# A tibble: 124 × 8
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Gentoo Biscoe 46.1 13.2 211 4500
2 Gentoo Biscoe 50 16.3 230 5700
3 Gentoo Biscoe 48.7 14.1 210 4450
4 Gentoo Biscoe 50 15.2 218 5700
5 Gentoo Biscoe 47.6 14.5 215 5400
6 Gentoo Biscoe 46.5 13.5 210 4550
7 Gentoo Biscoe 45.4 14.6 211 4800
8 Gentoo Biscoe 46.7 15.3 219 5200
9 Gentoo Biscoe 43.3 13.4 209 4400
10 Gentoo Biscoe 46.8 15.4 215 5150
# ℹ 114 more rows
# ℹ 2 more variables: sex <fct>, year <int>
# oder gleichwertig
filter (penguins,
species == "Gentoo" )
# A tibble: 124 × 8
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Gentoo Biscoe 46.1 13.2 211 4500
2 Gentoo Biscoe 50 16.3 230 5700
3 Gentoo Biscoe 48.7 14.1 210 4450
4 Gentoo Biscoe 50 15.2 218 5700
5 Gentoo Biscoe 47.6 14.5 215 5400
6 Gentoo Biscoe 46.5 13.5 210 4550
7 Gentoo Biscoe 45.4 14.6 211 4800
8 Gentoo Biscoe 46.7 15.3 219 5200
9 Gentoo Biscoe 43.3 13.4 209 4400
10 Gentoo Biscoe 46.8 15.4 215 5150
# ℹ 114 more rows
# ℹ 2 more variables: sex <fct>, year <int>
Der Pipe-Operator a %>% b %>% c bedeutet dabei in etwa »nimm a und mache damit b und mache mit dem Ergebnis davon c «.
Übung 1
Filtern Sie den penguins Datensatz so, dass er nur weibliche Tiere enthält.
Die Variablennamen sind im Absatz zuvor sichtbar.
penguins %>%
filter (sex == "female" )
sex == female (ohne Anführungszeichen) würde nicht funktionieren, da R sonst nach dem Objekt female sucht.
Das Paket {dplyr} hat viele hilfreiche vektorisierte Funktionen für die Manipulation von Fällen. Einen guten Überblick liefert das Cheatsheet.