首页 > 解决方案 > 匹配字符串而不是 str_detect

问题描述

我有两个数据框说 x & y。两者都有相同的 D 列。我想从 y 的 E 列中提取值并将其输入 x 的 F 列。具有数百万条记录的数据框。目前我正在使用

for ( i in 1:dim(x)[1])
{

      ind<-which(str_detect(y$D,x$D[i]))
      if (length(ind)>0)
      {
        x$F[i]<-y$E[ind]
      }  

} 

这很慢。任何人都可以帮助使其更快。

谢谢你的期待。

标签: rstringdataframe

解决方案


我们可以使用fuzzy加入

library(fuzzyjoin)
regex_left_join(x, y %>% 
                     select(D, E), by = 'D')

推荐阅读