我有两个带有字符串的向量,如下所示:

x <- c("Zimbabwe (Rhodesia)", "India", "Equatorial Guinea", "United States")

y <- c("Zimbabwe", "India", "Guinea")

我想得到一个向量,它包含那些在xy之间不匹配的字符串.理想的结果是:

"Zimbabwe (Rhodesia)" "Zimbabwe" "Equatorial Guinea" "Guinea" "United States"

我试着在这里巩固几个概念- 我知道我可以使用grep(paste(y, collapse = "|")来获取向量的部分匹配,使用anchors来查找给定字符串的精确匹配.但如何将它们整合起来呢?

我该怎么做呢?

推荐答案

一种 Select 是使用集合运算,即使用并集和交集的集合差:

x <- c("Zimbabwe (Rhodesia)", "India", "Equatorial Guinea", "United States")

y <- c("Zimbabwe", "India", "Guinea")

setdiff(union(x, y), intersect(x, y))
#> [1] "Zimbabwe (Rhodesia)" "Equatorial Guinea"   "United States"      
#> [4] "Zimbabwe"            "Guinea"

R相关问答推荐

给定R中另一行中的值,如何插补缺失值

提取rame中对应r中某个变量的n个最小正值和n个最大负值的条目

使用rlang s arg_match判断函数输入列表

在R中列表的结尾添加数字载体

用值序列对行进行子集化,并标识序列开始的列

删除列表中存储的数据帧内和数据帧之间的重复行

使用sf或terra的LINESTRAING的累积长度

即使硬币没有被抛出,也要保持对其的跟踪

将一个字符串向量调整为与其他字符串向量完全相同的大小

正在导出默认的RStudio主题,还是设置括号 colored颜色 ?

随机森林的带Shap值的蜂群图

R:如果为NA,则根据条件,使用列名模式将缺少的值替换为另一列中的值

按组跨多列创建伪变量

使用ifElse语句在ggploy中设置aes y值

使用geom_sf跨越日期线时的闭合边界

在不重复主题的情况下重新排列组

使用&Fill&Quot;在gglot中创建 colored颜色 渐变

动态统计函数在ShinyApp内部更改

删除r中每个因素级别的最后2行

R中的交叉表