我有一个名为data.comp的数据框,其中有一个名为RELAFFIL的列。列中的值范围是22到107,但是也有许多NULL值。我想将所有NULL值重新编码为0,对于所有其他情况重新编码为1。我尝试了多种方法,但都没有奏效,仅供参考,下面列出了我尝试过的方法。仅供参考,我还加载了以下软件包:dplyr,readr和car。
data.comp$RELAFFIL <- with(data.comp, ifelse(is.null(data.comp$RELAFFIL), 0, 1))
data.comp$RELAFFIL[is.null(data.comp$RELAFFIL)] <- 0
data.comp$RELAFFIL[is.finite(data.comp$RELAFFIL)] <- 1
car::recode(data.comp$RELAFFIL, "NULL = 0; else = 1")
data.comp$RELAFFIL <- data.comp$RELAFFIL %>% base::ifelse(is.null(data.comp$RELAFFIL), 0, 1)
答案 0 :(得分:0)
为此,Base R解决方案是添加文件,将NA字符串提到为null。
下提供了代码data.comp <- read.csv("your csv file",stringsAsFactors = F,na.strings = c("null"))
data.comp[is.na(data.comp)] <- 0
data.comp$RELAFFI_new <-ifelse(data.comp$RELAFFIL == 0,0,1)
这将提供您所需的输出