r中向量之间的文本子集



我在R中有两个给定名称的向量:

A <- data.frame(c("Nick", "Maria", "Liam", "Oliver", "Sophia", "james", "Lucas Theo"))
B  <- data.frame(c("Liam", "Theo", "Evelyn Elsa", "James", "Harper", "Amelia"))

我想比较这两个向量并创建一个向量C,其中向量B的名称不在向量A中。我希望代码忽略大写字母,即认识到Jamesjames是相同的,如果一个名字出现为双名的一部分,即Theo,也要认识到它是不同的。最后,结果必须是

C <- data.frame(c("Theo", "Evelyn Elsa", "Harper","Amelia")) 

有人能帮帮我吗?

我们可以将向量提取转换为常见情况(upper),使用%in%从B中找到存在于a中的元素,否定(!)并基于该逻辑向量

将B子集化
C <- data.frame(col1 = B[[1]][!toupper(B[[1]]) %in% toupper(A[[1]])])

与产出

C
col1
1        Theo
2 Evelyn Elsa
3      Harper
4      Amelia

最新更新