Dplyr select() : sélectionner des colonnes (variables)

La fonction select() sert à choisir (sélectionner) des variables (colonnes) dans un data frame. Elle peut sélectionner des variables d'après leur nom, leur position, leurs propriétés ou au moyen de fonctions plus élaborées. Avec select(), il est possible de renommer des variables au moment où on les sélectionne. La fonction s'utilise conjointement avec toute une série d'autres fonctions et opérateurs qui permettent des sélections efficaces. Le tableau suivant présente les fonctions et opérateurs utilisables avec select().

Fonction Effet Exemple
, Sélectionner plusieurs variables select(var1, var2, var3, var4)
: Sélectionne un intervalle de variables select(var1:var4)
c() Sélectionner un vecteur de variables select(c(var1, var2, var3, var4)) Équivaut à utiliser ,
` ` Sélectionner l'une ou l'autre variable
! Supprimer des variables. Préférez - (voir ci-dessous). select(!var1, !var2)
- Supprimer des variables select(-var1, -var2)
-c() Supprimer plusieurs variables select(-c(var1, var2))
starts_with() Sélectionner les variables qui commencent par un préfixe voir ci-dessous
ends_with() Sélectionner les variables qui se terminent par un suffixe voir ci-dessous
contains() Sélectionner les variables qui contiennent une chaîne de caractères voir ci-dessous
matches() Sélectionner les variables qui correspondent à une expression régulière (regex) voir ci-dessous
num_range() Sélectionner les variables qui correspondent à un intervalle numérique voir ci-dessous
last_col() Sélectionner la dernière colonne select(last_col())
everything() Sélectionner toutes les colonnes select(everything())
all_of() Sélectionner des variables à partir d'un vecteur de caractères (character vector). Toutes les variables du vecteur doivent exister. voir ci-dessous
any_of() Sélectionner des variables à partir d'un vecteur de caractères (character vector). Toutes les variables du vecteur ne doivent pas nécessairement exister. voir ci-dessous

Exemples d'utilisation de select()

Voici plusieurs exemples d'utilisation de select(). Les commentaires fournissent les explications.

data(mpg)

## Conserver les variables model, displ, cyl, class.
mpg |> select(model, displ, cyl, class)

## Conserver les variables de trans à fl (y compris toutes celles situées entre les deux)
mpg |> select(trans:fl)

## Conserver toutes les variables sauf celles de trans à fl
mpg |> select(!(trans:fl)) # supprime toutes les variables entre trans et fl

## Conserver les variables qui commencent par "man"
mpg |> select(starts_with("man"))

## Conserver les variables qui commencent par "manu" et se terminent par "l"
mpg |> select(starts_with("manu") & ends_with("l"))

## Ne pas conserver les variables qui commencent par "man"
mpg |>  select(-starts_with("man"))

## Conserver class ou trans, si elles existent
mpg |> select(class | trans)

## Éliminer displ et cyl de deux manières différentes
mpg |> select(-displ, -cyl)
mpg |> select(-c(displ,cyl))