Як перекодувати значення за допомогою dplyr
Іноді вам може бути цікаво перекодувати певні значення у фрейм даних у R. На щастя, це можна легко зробити за допомогою функції recode() з пакету dplyr.
Цей підручник демонструє кілька прикладів практичного використання цієї функції.
Приклад 1: перекодуйте один стовпець у кадрі даних
Наступний код показує, як перекодувати один стовпець у кадрі даних:
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
Приклад 2: Перекодуйте один стовпець у кадрі даних і надайте значення NA
Наступний код показує, як перекодувати один стовпець у кадрі даних і призначити значення NA будь-якому значенню, якому явно не призначено нове значення:
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>
Приклад 3: перекодування кількох стовпців у кадрі даних
Наступний код показує, як перекодувати декілька стовпців одночасно у кадрі даних:
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
Ви можете знайти повну документацію для функції recode() тут .