根据2个数据帧之间的部分字符串匹配删除元素:

问题描述 投票:0回答:1

假设我的元素中有两个包含字符串的数据框:

B <- data.frame(c("abcd1","cdbax2","acdb3"))
colnames(B) <- "Strings"

A <- data.frame(c("abcd_11","cdba_12"))
colnames(A) <- "Strings"

产生这对数据帧,

> A
  Strings
1    abcd_11
2    cdba_12

> B
  Strings
1   abcd1
2   cdbax2
3   acdb3

期望的输出:B *,B清除不在A中的部分字符串:

> B*
      Strings
    1   abcd1
    2   cdbax2

任何想法将不胜感激。

干杯

编辑:基于字符串长度的解决方案不起作用,因为数据帧中可能有不同的长度

r string pattern-matching
1个回答
2
投票
 B[max.col(-adist(A$Strings,B$Strings)),]
[1] abcd1  cdbax2
© www.soinside.com 2019 - 2024. All rights reserved.