Occasionally you may be interested in recoding certain values in a dataframe in R. Fortunately this can easily be done using the recode() function from the dplyr package.

This tutorial shows several examples of how to use this function in practice.

**Example 1: Recode a Single Column in a Dataframe**

The following code shows how to recode a single column in a 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

**Example 2: Recode a Single Column in a Dataframe and Provide NA Values**

The following code shows how to recode a single column in a dataframe and give a value of **NA **to any value that is not explicitly given a new value:

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>

**Example 3: Recode Multiple Columns in a Dataframe**

The following code shows how to recode multiple columns at once in a 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

*You can find the complete documentation for the recode() function here.*