Die Funktion select() dient dazu, Variablen (Spalten) in einem Data Frame auszuwählen (zu selektieren). Die Funktion kann Variablen anhand von Namen, Index, Eigenschaften oder komplexeren Funktionen auswählen. Mit select() lassen sich Variablen zugleich bei der Auswahl umbenennen. Die Funktion wird zusammen mit einer Reihe weiterer Funktionen und Operatoren eingesetzt, um effiziente Auswahlen zu treffen. Die folgende Tabelle zeigt, welche Funktionen und Operatoren zusammen mit select() verwendet werden können.
| Funktion | Wirkung | Beispiel |
|---|---|---|
, |
Mehrere Variablen auswählen | select(var1, var2, var3, var4) |
: |
Wählt einen Bereich von Variablen aus | select(var1:var4) |
c() |
Einen Vektor von Variablen auswählen | select(c(var1, var2, var3, var4)) Gleichbedeutend mit der Verwendung von , |
| ` | ` | Die eine oder andere Variable auswählen |
! |
Variablen entfernen. Besser - verwenden (siehe unten). |
select(!var1, !var2) |
- |
Variablen entfernen | select(-var1, -var2) |
-c() |
Mehrere Variablen entfernen | select(-c(var1, var2)) |
starts_with() |
Variablen auswählen, die mit einem Präfix beginnen | siehe unten |
ends_with() |
Variablen auswählen, die mit einem Suffix enden | siehe unten |
contains() |
Variablen auswählen, die eine Zeichenkette enthalten | siehe unten |
matches() |
Variablen auswählen, die einem regulären Ausdruck (Regex) entsprechen | siehe unten |
num_range() |
Variablen auswählen, die einem numerischen Bereich entsprechen | siehe unten |
last_col() |
Letzte Spalte auswählen | select(last_col()) |
everything() |
Alle Spalten auswählen | select(everything()) |
all_of() |
Variablen aus einem Character-Vektor auswählen. Alle Variablen im Vektor müssen vorhanden sein. | siehe unten |
any_of() |
Variablen aus einem Character-Vektor auswählen. Nicht alle Variablen im Vektor müssen vorhanden sein. | siehe unten |
Beispiele für select()
Im Folgenden finden Sie mehrere Beispiele für die Verwendung von select(). Erläuterungen stehen in den Kommentaren.
data(mpg)
## Variablen model, displ, cyl, class behalten.
mpg |> select(model, displ, cyl, class)
## Variablen trans bis fl behalten (einschließlich aller dazwischen)
mpg |> select(trans:fl)
## Alle Variablen außer trans bis fl behalten
mpg |> select(!(trans:fl)) # entfernt alle Variablen zwischen trans und fl
## Variablen behalten, die mit "man" beginnen
mpg |> select(starts_with("man"))
## Variablen behalten, die mit "manu" beginnen und mit "l" enden
mpg |> select(starts_with("manu") & ends_with("l"))
## Variablen, die mit "man" beginnen, nicht behalten
mpg |> select(-starts_with("man"))
## class oder trans behalten, sofern vorhanden
mpg |> select(class | trans)
## displ und cyl mit zwei verschiedenen Methoden entfernen
mpg |> select(-displ, -cyl)
mpg |> select(-c(displ,cyl))