1

我遇到了 recode_factor 函数的问题。出于某种原因,我不能用“缺失”替换 NA。

这是我的尝试

recode_factor(Data$i_ypsocweb, `1` = "yes", `2` = "no", missing = "missing")

值没有被替换,我看到一个错误

由 coercionUnreplaced 值引入的 NA 被视为 NA 作为 .x 不兼容。请详细指定替换或提供 .default

截屏

更糟糕的是,当我最终打开数据集并找到值时,它并没有改变。我仍然得到数值

4

1 回答 1

0

没有样本数据,但其中之一应该可以满足您的需要。下面的示例数据 wherex是一个数值数组并且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" 
于 2020-01-27T21:09:52.210 回答