有条件地使用空值更新数据框列中的值

时间:2017-04-10 16:18:31

标签: r

我想知道最干净的方法是什么。我的源数据的年龄设置为999,当它不可用时,我想将其更改为null。

由于空值

,显而易见的方法失败了
df[df$age=999,"age"] <- NA

Error in `[<-.data.frame`(`*tmp*`, df$age > 100, "age", value = NA) : 
  missing values are not allowed in subscripted assignments of data frames

这是否适当使用?它显得更干净,但我被警告不要:

df[which(df$age=999),"age"] <- NA   

VS

df[df$age=999 & !is.na(df$age),"age"] <- NA

1 个答案:

答案 0 :(得分:0)

你快到了 试试:

df$age[df$age==999] <- NA