Comment utiliser la fonction de transmute dplyr dans R (avec exemples)



Vous pouvez utiliser la fonction transmute() dans R pour ajouter de nouvelles variables calculées à un bloc de données et supprimer toutes les variables existantes.

Cette fonction utilise la syntaxe de base suivante :

df %>% transmute(var_new = var1 * 2)

Dans cet exemple, une nouvelle variable appelée var_new sera créée en multipliant une variable existante appelée var1 par 2.

Les exemples suivants montrent comment utiliser la fonction transmute() avec le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1    A     99      33       30
2    B     90      28       28
3    C     86      31       24
4    D     88      39       24
5    E     95      34       28

Exemple 1 : utilisez transmute() pour créer une nouvelle variable

Le code suivant montre comment utiliser transmute() pour créer une nouvelle variable :

library(dplyr)

#create new variable called points2
df %>% transmute(points2 = points * 2)

  points2
1     198
2     180
3     172
4     176
5     190

Les valeurs de points2 sont égales aux valeurs originales de la colonne des points multipliées par deux.

Notez que la fonction transmute() ne modifie pas réellement le bloc de données d’origine.

Pour sauvegarder les résultats de la fonction transmute() dans un nouveau bloc de données, vous devez les stocker dans une variable :

library(dplyr)

#store results of transmute in variable
df_points2 <- df %>% transmute(points2 = points * 2)

#view results
df_points2

  points2
1     198
2     180
3     172
4     176
5     190

Les résultats de transmute() sont désormais stockés dans une nouvelle trame de données.

Exemple 2 : utilisez transmute() pour créer plusieurs nouvelles variables

Le code suivant montre comment utiliser transmute() pour créer plusieurs nouvelles variables à partir de variables existantes :

library(dplyr)

#create multiple new variables
df %>%
 transmute(
  points2 = points * 2,
  rebounds_squared = rebounds^2,
  assists_half = assists / 2,
  team_name= paste0('team_', team)
)

  points2 rebounds_squared assists_half team_name
1     198              900         16.5    team_A
2     180              784         14.0    team_B
3     172              576         15.5    team_C
4     176              576         19.5    team_D
5     190              784         17.0    team_E

Notez que quatre nouvelles variables ont été créées.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :

Comment utiliser la fonction relocate() dans dplyr
Comment utiliser la fonction slice() dans dplyr
Comment filtrer par numéro de ligne dans dplyr

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *