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

时间:2017-09-28 18:19:49

标签: r missing-data

我正在尝试使用以下代码填充数据框中的列(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

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您的语法不正确。使用此作为参考:

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")
    }
}

答案 1 :(得分:0)

问题是缺失的数据被保存为空白而不是NA。首先我将空格转换为空值,然后我将数据更改为字符为“yaw&#39;说过。这是我的代码:

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

谢谢。