R - 如何有条件地替换丢失的字符串

时间:2014-07-01 14:40:04

标签: r

我试图将所有不等于“A”或“B”的字符值替换为“”

df$var <- as.character(df$var)
df$var[df$var != "A" | "B"] <- c("")

我确信这有一个简单的解决方案...但是我的新手正在展示,我找不到帮助主题(在这里或其他地方)。

任何帮助?

2 个答案:

答案 0 :(得分:3)

df$var <- ifelse(!(df$var %in% c("A","B")), "", df$var)

答案 1 :(得分:2)

另一种方法是使用gsub

x <- unlist(strsplit('ABCDEABCDE', '')) # example vector
gsub('[^AB]', '', x)
#  [1] "A" "B" ""  ""  ""  "A" "B" ""  ""  ""