微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅保留列中的特定字符串,否则转换为 NA

如何解决仅保留列中的特定字符串,否则转换为 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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。