R中向量之间的文本子集化

nbysray5  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(88)

我在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"))

有人能帮帮我吗?

cu6pst1q

cu6pst1q1#

我们可以将所提取的向量转换为常见情况(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

相关问题