我在recode_factor函数中遇到问题。由于某些原因,我无法将NA替换为'missing'。
这是我的尝试
recode_factor(Data$i_ypsocweb, `1` = "yes", `2` = "no", missing = "missing")
这些值未替换,我看到一个错误
NA由强制强制引入。未替换的值被视为NA的.x不是兼容。请详尽指定替换品或供应.default
更糟糕的是,当我轴向打开数据集并找到值时,它没有被更改。我仍然得到数值
没有示例数据,但是其中之一应该可以满足您的需求。下面的样本数据,其中x
是数字数组,y
是一个因子。
library(dplyr)
set.seed(1)
x <- sample(c(1, 2, NA), size = 15, replace = TRUE)
y <- as.factor(x)
x %>% recode(`1` = "yes", `2` = "no", .missing = "missing")
[1] "yes" "missing" "yes" "no" "yes" "missing" "missing" "no" "no" "missing" "missing"
[12] "yes" "yes" "yes" "no"
case_when(y == 1 ~ "yes", y == 2 ~ "no", is.na(y) ~ "missing")
[1] "yes" "missing" "yes" "no" "yes" "missing" "missing" "no" "no" "missing" "missing"
[12] "yes" "yes" "yes" "no"