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

时间:2018-03-02 00:35:10

标签: r string pattern-matching

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

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

任何想法都将不胜感激。

干杯

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

1 个答案:

答案 0 :(得分:2)

 B[max.col(-adist(A$Strings,B$Strings)),]
[1] abcd1  cdbax2