とある技術者の徒然草

生産技術者の適当な日記(統計言語Rに関するメモがメイン)

【R言語】plyrのrevalueをdplyrのrecodeで実現する

plyrのrevalueをdplyrのrecodeで実現する


リストを渡して特定の文字を置換したいとき、
ここを参考にdplyr::recodeで実現した。
https://github.com/tidyverse/dplyr/issues/2505


データセットはBoston hounsingである。

all %>% 
  replace_na(list(PoolQC = "None")) ->all2

#plyr
Qualities <- c('None' = 0, 'Po' = 1, 'Fa' = 2, 'TA' = 3, 'Gd' = 4, 'Ex' = 5)
all$PoolQC <- as.integer(revalue(all$PoolQC,Qualities))

#dplyr
Qualities2 <- list('None' = 0, 'Po' = 1, 'Fa' = 2, 'TA' = 3, 'Gd' = 4, 'Ex' = 5)
all2 %>% 
  mutate(PoolQC = recode(PoolQC,!!!Qualities2)) -> all2