首页 > 解决方案 > R:将多个字符串更改为另一个字符串

问题描述

相对 R 新手在这里。如何将字符向量中的多个字符串更改为一个字符串?

例如:

college <- c("CAS", "HHS", "CB", "CAS,HHS", "CB", "CAS,CB", "CAS,HHS,CB", "HHS")

我想保留“CAS”、“HHS”和“CB”,并将其他所有内容更改为“MULT”。我试过了:

dontchange <- c("CAS", "HHS", "CB")
college[college!=dontchange] <- c("MULT")
college
[1] "CAS"  "HHS"  "CB"   "MULT" "MULT" "MULT" "MULT" "HHS" 

第五个元素(第二个“MULT”)应该是 CB。

任何帮助,将不胜感激。谢谢!

标签: r

解决方案


我认为@akrun已经解释了关于!=and的每一点%in%

这里有一些可能有帮助的选项

replace(college, !college %in% dontchange, "MULT")

或者

replace(college, is.na(match(college, dontchange)), "MULT")

推荐阅读