Comment recoder des valeurs à l’aide de dplyr
Parfois, vous pourriez être intéressé à recoder certaines valeurs dans une trame de données dans R. Heureusement, cela peut facilement être fait en utilisant la fonction recode() du package dplyr.
Ce tutoriel montre plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : recoder une seule colonne dans un dataframe
Le code suivant montre comment recoder une seule colonne dans un dataframe :
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #view dataframe df #change 'Win' and 'Loss' to '1' and '0' df %>% mutate(result=recode(result, 'Win'='1', 'Loss'='0')) player points result 1 A 24 1 2 B 29 0 3 C 13 1 4 D 15 0
Exemple 2 : recoder une seule colonne dans une trame de données et fournir des valeurs NA
Le code suivant montre comment recoder une seule colonne dans une trame de données et attribuer la valeur NA à toute valeur à laquelle aucune nouvelle valeur n’est explicitement attribuée :
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #view dataframe df #change 'Win' to '1' and give all other values a value of NA df %>% mutate(result=recode(result, 'Win'='1', .default=NA_character_)) player points result 1 A 24 1 2 B 29 <NA> 3 C 13 1 4 D 15 <NA>
Exemple 3 : recoder plusieurs colonnes dans un dataframe
Le code suivant montre comment recoder plusieurs colonnes à la fois dans un dataframe :
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #recode 'player' and 'result' columns df %>% mutate(player=recode(player, 'A'='Z'), result=recode(result, 'Win'='1', 'Loss'='0')) player points result 1 Z 24 1 2 B 29 0 3 C 13 1 4 D 15 0
Vous pouvez trouver la documentation complète de la fonction recode() ici .