Come ricodificare i valori utilizzando dplyr
A volte potresti essere interessato a ricodificare determinati valori in un frame di dati in R. Fortunatamente, questo può essere fatto facilmente utilizzando la funzione recode() dal pacchetto dplyr.
Questo tutorial mostra diversi esempi di utilizzo pratico di questa funzione.
Esempio 1: ricodificare una singola colonna in un dataframe
Il codice seguente mostra come ricodificare una singola colonna in 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 to 24 1 2 B 29 0 3 C 13 1 4 D 15 0
Esempio 2: ricodificare una singola colonna in un frame di dati e fornire valori NA
Il codice seguente mostra come ricodificare una singola colonna in un frame di dati e assegnare il valore NA a qualsiasi valore a cui non è esplicitamente assegnato un nuovo valore:
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 to 24 1 2 B 29 <NA> 3 C 13 1 4 D 15 <NA>
Esempio 3: ricodificare più colonne in un dataframe
Il codice seguente mostra come ricodificare più colonne contemporaneamente in 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
Puoi trovare la documentazione completa per la funzione recode() qui .