非常简单的问题,但我找不到任何答案。我有一个带有“ foo”列的数据框,其中包含“ A”,“ B”,“ C”,“ D”,“ F”等。
我需要将每个不是“ A”或“ B”的值重新编码为NA。
下面的代码不起作用,因为字符串无法进行类似的操作...如何为字符串完成此操作?
df[df$foo != "A" | "B"] <- NA
答案 0 :(得分:1)
尝试
df$foo[!(df$foo %in% c("A","B"))] <- NA
或
transform(df, foo=replace(foo, !(foo %in% c("A","B")), NA))