r语言 - 列中只保留特定的字符串,否则将转换为NA



我想在列(A1, B2)中保留选定的字符串,其余的不删除它们,而是将它们替换为NA。我看过其他关于删除行,或部分替换文本的帖子,但我想用NA替换它们,我找不到正确的命令/功能。

myDf <- structure(list(GeogPreferences = structure(1:4, .Label = c("A1", 
"B1", "A2", "B2"), class = "factor")), .Names = "Letters", class = "data.frame", row.names = c(NA, -4L))

不是这个,而是像

keep[, c=("A1", "B2")]
other ways replace with gsub( "non-keep", "NA", as.character(myDf$Letter) n)

当前myDf:

Letters
1  A1
2  B1
3  A2
4  B2

所需:

Letters
1  A1
2  NA
3  NA
4  B2

这是within的工作。

keep <- c("A2", "B1")
within(myDf, Letters[!Letters %in% keep] <- NA)
#   Letters
# 1    <NA>
# 2      B1
# 3      A2
# 4    <NA>

最新更新