Hoe waarden te hercoderen met dplyr


Soms ben je misschien geïnteresseerd in het hercoderen van bepaalde waarden in een dataframe in R. Gelukkig kan dit eenvoudig worden gedaan met behulp van de functie recode() uit het dplyr-pakket.

Deze tutorial toont verschillende voorbeelden van praktisch gebruik van deze functie.

Voorbeeld 1: Hercodeer een enkele kolom in een dataframe

De volgende code laat zien hoe u een enkele kolom in een dataframe hercodeert:

 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

Voorbeeld 2: Hercodeer een enkele kolom in een dataframe en geef NA-waarden op

De volgende code laat zien hoe u een enkele kolom in een dataframe kunt hercoderen en de waarde NA kunt toewijzen aan elke waarde waaraan niet expliciet een nieuwe waarde is toegewezen:

 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>

Voorbeeld 3: meerdere kolommen in een dataframe hercoderen

De volgende code laat zien hoe u meerdere kolommen tegelijk in een dataframe kunt hercoderen:

 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

U kunt de volledige documentatie voor de recode()-functie hier vinden.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert