R编程:替换数据帧列中的缺失值

时间:2014-05-01 14:09:06

标签: r missing-data

我正在尝试替换数据框列中的所有缺失值。我找到了以下代码:

          df$GROUPE[is.na(df$GROUPE)] <- "OTHER"

但是,我收到一条错误消息:

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

有人知道如何更换缺失值。

谢谢!

2 个答案:

答案 0 :(得分:0)

显然,您的GROUPE列是一个因素,并且没有名为"OTHER"的等级。

levels(f) <- c(levels(f), "OTHER")

应该添加它。

答案 1 :(得分:0)

将您的因子转换为字符,然后再次运行上一行:

df$GROUPE <- as.character(df$GROUPE)

df$GROUPE[is.na(df$GROUPE)] <- "OTHER"

您可以在以下后重构df$GROUPE变量:

df$GROUPE=as.factor(df$GROUPE)