R使用.default重新编码得到长度错误
R recoding using .default got length error
我的数据库如下所示。
我尝试使用以下代码,以便重新编码“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
returns 出现错误。此外,您应该将数据替换为 NA
而不是 NULL
。 :
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_))
我的数据库如下所示。
我尝试使用以下代码,以便重新编码“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
returns 出现错误。此外,您应该将数据替换为 NA
而不是 NULL
。 :
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_))