2017-04-10 62 views
0

我想知道什麼是最乾淨的方法。當我的源數據不可用時,它的年齡設置爲999,我想將其更改爲空。使用空值有條件地更新數據幀列中的值

最明顯的方法失敗,因爲空

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 

回答

0

你幾乎沒有 嘗試:

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