在RStudio中。不确定如何仅根据特定列的名称替换特定列中的空白。尝试过多个版本的
census_data[c("NAICSP","SOCP") == ""] <- NA
对于基本的R选项,您可以尝试在列模式下使用apply
:
cols <- c("NAICSP","SOCP")
census_data[, cols] <- apply(census_data[, cols], 2, function(x) {
ifelse(x == "", NA, x)
})
免责声明:此答案使用了mde,这是我刚写的一个程序包。如果可以使用包,则可以使用recode_as_na
中的mde
并提供subset_cols
向量,如下所示:
census_data<- data.frame(ID = c("A","B","B","A"),
NAICSP = c("",NA,"Yes","No"),
SOCP = c("","","",""))
# install.packages("devtools")
# devtools::install_github("Nelson-Gon/mde")
mde::recode_as_na(census_data,subset_df=TRUE,
subset_cols = c("NAICSP","SOCP"),
value="")
ID NAICSP SOCP
1 A <NA> NA
2 B <NA> NA
3 B Yes NA
4 A No NA
Warning message:
In recode_as_na.data.frame(census_data, subset_df = TRUE, subset_cols = c("NAICSP", :
Factor columns have been converted to character
NOTE:
警告消息是为了提醒用户幕后强迫角色。