今更感はあるが数値を文字列に置換する際にfactor関数を使えば楽にできるのでは?
と思い立ったのでメモ。
require(dplyr)
# データとして10コの1〜4までの乱数を用意
set.seed(71)
x <- floor(runif(n = 10, min = 1, max = (4 + 1)))
data <- tibble(V1 = x)
# 1 : X, 2 : Y, 3 : Z, 4 : Wというように置換する
# 方法1 : ifelseをつかう
data %>%
mutate(V2 = ifelse(V1 == 1, 'X', ifelse(V1 == 2, 'Y', ifelse(V1 == 3, 'Z', 'W'))))
# 方法2 : factorを使う
data %>%
mutate(V2 = factor(V1, levels = 1:4, labels = c('X', 'Y', 'Z', 'W')))
2値を置き換えるのであればifelseで十分だが、値が3種類以上ならばfactor関数を使ったほうが可読性は高い。
ただfactor関数を使った場合は出力結果が文字列型ではない、タイトル詐欺になってしまった…。
もっとスマートな書き方を教えてもらいました、コメントを参照