0

我有一个包含两列的数据框,其中可以包含各种格式的任何字符,我想匹配它们。

library(stringr)
library(fuzzyjoin)

x <- data.frame(idX=1:3, string=c("silver", "30BEDJE202AA", "30BEDJE2027"))
y <- data.frame(idY=letters[1:3], seed=c("sliver", "30BEDJE202ABC", "30BEDJE2027BL"))
x$string = as.character(x$string)
y$seed = as.character(y$seed)

x %>% fuzzy_left_join(y, by = c(string = "seed"), match_fun = str_detect)

这是我在运行上述代码时得到的结果:

  idX       string  idY seed
1   1       silver <NA> <NA>
2   2 30BEDJE202AA <NA> <NA>
3   3  30BEDJE2027 <NA> <NA>

这就是我想要的:

  idX       string  idY seed
1   1       silver  a sliver
2   2 30BEDJE202AA  b 30BEDJE202ABC
3   3  30BEDJE2027  c 30BEDJE2027BL

有没有办法到达那里?

4

0 回答 0