Dplyr select(): Spalten (Variablen) auswählen

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))