问题描述
我的数据库如下所示。
我尝试以下代码,以便重新编码“EDUC”列。
gun.control$EDUC <- recode(gun.control$EDUC,'IAP' = NULL,'DK' = NULL,.default = gun.control$EDUC,.missing = NULL)
但是,显示错误,提示 "Error: '.default' must be length 24 or one,not 62466."
。
我试过 length(gun.control$EDUC)
并且它是 62366 长。 unique(gun.control$EDUC)
的结果显示 Levels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 IAP DK NA
我不知道我在哪个部分做错了并导致了这个问题。任何人都可以在这里看到任何解决方案?真的很感谢。
解决方法
您可能在数据中有 NA
值,因此 recode
返回错误。此外,您应该将数据替换为 NULL
,而不是 NA
。 :
gun.control$EDUC[gun.control$EDUC %in% c('IAP','DK')] <- NA
,
我们可以使用replace
library(dplyr)
gun.control %>%
mutate(EDUC = replace(EDUC,EDUC %in% c("IAP","DK"),NA_character_))