Como recodificar valores usando dplyr


Às vezes você pode estar interessado em recodificar certos valores em um quadro de dados em R. Felizmente, isso pode ser feito facilmente usando a função recode() do pacote dplyr.

Este tutorial mostra vários exemplos de uso prático desta função.

Exemplo 1: Recodificar uma única coluna em um dataframe

O código a seguir mostra como recodificar uma única coluna em um 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

Exemplo 2: Recodificar uma única coluna em um quadro de dados e fornecer valores NA

O código a seguir mostra como recodificar uma única coluna em um quadro de dados e atribuir o valor NA a qualquer valor que não tenha sido atribuído explicitamente a um novo valor:

 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>

Exemplo 3: recodificar várias colunas em um dataframe

O código a seguir mostra como recodificar várias colunas de uma vez em um 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

Você pode encontrar a documentação completa da função recode() aqui .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *