我在data.frame中有字符向量(列),它包含三个正确的值,包括“Positive”,“Negative”和NA,以及少量不正确的值。我想替换不正确的值,即除了“Positive”,“Negative”和“NA”以及“Positive”之外的所有内容我可以使用grep和invert = TRUE参数grep for NOT“Positive”或“Negative”,并获取除了“否定”和“肯定”的实例之外的所有内容,但我还没有想出如何另外,而不是替换NA的任何实例。我也查看了sub命令,但它没有反转选项。有什么建议吗?
答案 0 :(得分:3)
这应该有效:
df[!is.na(df$column) & !df$column %in%
c("Positive","Negative"), "column"] <- "Positive"