我想在列(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>