r - 匹配字符串而不是 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]
}
}
这很慢。任何人都可以帮助使其更快。
谢谢你的期待。
解决方案
我们可以使用fuzzy
加入
library(fuzzyjoin)
regex_left_join(x, y %>%
select(D, E), by = 'D')
推荐阅读
- jquery - 结束脚本后隐藏微调器加载
- python - Keras 函数模型产生子类化错误
- c# - 在 Xamarin 中使用 AccessibilityService 类打开飞行模式
- elixir - 如何在 Elixir 和 Dialyzer 中覆盖函数或变量类型?
- mysql - 无法使用 docker-compose 创建准备好的 MySql DB
- flutter - 如何在 Flutter 中使用 Firebase 查询对象列表
- html - document.getElementsByName 返回未定义
- html - HTML5 三列布局,左/中可调整大小,右固定
- mysql - 用 2 个没有加入的表进行分组
- c# - 如何在 XAML 中访问 IEnumerable 的子属性?