用 R 中的常量值替换列中的空值

replacing null values in column with a constant values in R

我正在尝试使用以下代码填充数据框中的列 (ADRPD) 中的空值。但它不起作用。

data$ADRPD[is.na(data$ADRPD)]= "medium"

这是错误:

Warning message:
In `[<-.factor`(`*tmp*`, is.na(data$ADRPD), value = c(2L, 2L, 2L,  :
  invalid factor level, NA generated

有什么建议吗?

您的语法不正确。以此为参考:

http://adv-r.had.co.nz/Subsetting.html

或者:

for(i in 1:length(data$ADRPD)){
    if(is.na(data$ADRPD[[i]]) == true){
        data$ADRPD[[i]] <- c("some-constant")
    }
}

问题是丢失的数据被保存为空白 space 而不是 NA。首先我将空白 spaces 转换为空值,然后我将数据更改为 'yaw' 所说的字符。这是我的代码:

data = read.csv(file.choose(), header = TRUE, na.strings=c("","NA"))
data$ADRPD = as.character(data$ADRPD)
data$ADRPD[is.na(data$ADRPD)]= "medium"

谢谢。