Ответ 1
Имеется функция recode
, начиная с dplyr версии dplyr_0.5.0, которая очень похожа на revalue
на plyr.
Пример, построенный из раздела Примеры документации recode
:
set.seed(16)
x = sample(c("a", "b", "c"), 10, replace = TRUE)
x
[1] "a" "b" "a" "b" "b" "a" "c" "c" "c" "a"
recode(x, a = "Apple", b = "Bear", c = "Car")
[1] "Car" "Apple" "Bear" "Apple" "Car" "Apple" "Apple" "Car" "Car" "Apple"
Если вы определяете только некоторые из значений, которые вы хотите перекодировать, по умолчанию остальные заполняются с помощью NA
.
recode(x, a = "Apple", c = "Car")
[1] "Car" "Apple" NA "Apple" "Car" "Apple" "Apple" "Car" "Car" "Apple"
Это поведение можно изменить с помощью аргумента .default
.
recode(x, a = "Apple", c = "Car", .default = x)
[1] "Car" "Apple" "b" "Apple" "Car" "Apple" "Apple" "Car" "Car" "Apple"
Существует также аргумент .missing
, если вы хотите заменить отсутствующие значения чем-то другим.