Dplyr select(): Selektera kolumner (variabler)

Funktionen select() används för att välja (selektera) variabler (kolumner) i en dataframe. Funktionen kan selektera variabler baserat på namn, index, egenskaper eller mer avancerade funktioner. Med select() kan namn på variabler ändras i samband med att de selekteras. Funktionen används tillsammans med en rad andra funktioner och operander för att göra effektiva selektioner. Följande tabell redovisar vilka funktioner och operander som kan användas tillsammans med select().

Funktion Effekt Exempel
, Selektera flera variabler select(var1, var2, var3, var4)
: Selekterar ett intervall med variabler select(var1:var4)
c() Selektera en vektor med variabler select(c(var1, var2, var3, var4)) Ekvivalent med att använda ,
` ` Selektera endera variabel
! Ta bort variabler. Använd hellre - (se nedan). select(!var1, !var2)
- Ta bort variabler select(-var1, -var2)
-c() Ta bort flera variabler select(-c(var1, var2))
starts_with() Selektera variabler som börjar med ett prefix se nedan
ends_with() Selektera variabler som slutar med ett suffix se nedan
contains() Selektera variabler som innehåller en sträng se nedan
matches() Selektera variabler som matchar ett regular expression (regex) se nedan
num_range() Selektera variabler som matchar ett numeriskt intervall se nedan
last_col() Selektera sista kolumnen select(last_col())
everything() Selektera alla kolumner select(everything())
all_of() Selektera variabler från en character vector. Alla variabler i vektorn skall finnas. se nedan
any_of() Selektera variabler från en character vector. Alla variabler i vektorn behöver inte finnas. se nedan

Exempel på select()

Nedan följer flera exempel på hur select() används. Se kommentarerna för förklaringar.

data(mpg)

## Behåll variablerna model, displ, cyl, class.
mpg |> select(model, displ, cyl, class)

## Behåll variablerna trans till fl (inklusive alla där emellan)
mpg |> select(trans:fl)

## Behåll alla variabler förutom trans till fl
mpg |> select(!(trans:fl)) # raderar alla variabler mellan trans och fl

## Behåll variabler som börjar med "man"
mpg |> select(starts_with("man"))

## Behåll variabler som börjar med "manu" och slutar med "l"
mpg |> select(starts_with("manu") & ends_with("l"))

## Behåll inte variabler som börjar med "man"
mpg |>  select(-starts_with("man"))

## Behåll class eller trans, om de finns
mpg |> select(class | trans)

## Eliminera displ och cyl med två olika metoder
mpg |> select(-displ, -cyl)
mpg |> select(-c(displ,cyl))