问题标签 [fuzzyjoin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
394 浏览

r - R中的带状变量

对于以下代码:

对于 中的每个值,我想x使用 中的信息计算出它所属的世纪的名称century_bands。我无法想象这很难实现,但我无法弄清楚。有人可以帮忙吗?有没有办法使用这个dplyr包(我经常使用它)或者其他一些技术?

这只是现实生活中的一个非常简单的例子,乐队在 100 年的步长上不是很整齐——所以不幸的是,任何基于将年份除以 100 等的捷径都行不通。

谢谢你。

0 投票
0 回答
339 浏览

r - 部分字符串匹配的模糊连接

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

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

这就是我想要的:

有没有办法到达那里?

0 投票
1 回答
65 浏览

r - 如何模糊连接 2 个具有不同“模糊逻辑”的变量上的 2 个数据帧?

我想用模糊逻辑匹配 a 和 b,使用变量 KW 和价格。我想允许 +/- 1 的 KW 容差和 +/- 0.02 的价格容差。

期望的结果应该是这样的:

我更愿意使用该fuzzyjoin软件包找到解决方案。到目前为止,我尝试使用该fuzzy_inner_join函数并使用参数指定我想要的 KW 和价格公差match_fun。但是,我无法让它工作。

寻求帮助,如何解决这个问题。

0 投票
1 回答
855 浏览

r - 基于字符串的模糊匹配加入数据帧

我正在使用的两个数据框如上所示。我想模糊加入他们col1col3想出类似于下面直接显示的内容。基本上,规则是,“如果所有文本col3都在任何col1一个匹配中”。

这个较旧的 SO question 似乎提供了解决方案,但在这种情况下它似乎并不完全有效,我得到如下所示的错误:

如何使用 R 执行这种模糊连接?

0 投票
1 回答
5783 浏览

r - 模糊左连接与R

我在上面有两个数据框df1df2. 我需要创建一个新列,df1以告知每一行是否与 中的条目匹配df2

我还必须进行模糊匹配,并且模糊性需要不区分大小写(因此是自定义ci_str_detect函数):

不幸的是(在这种情况下)fuzzyjoin R 包似乎只做 INNER JOIN,而不是我需要的 LEFT JOIN。

最终我需要这个输出:

...并且 LEFT JOIN 将提供如下所示的中间数据框,我可以用它替换NAFALSE获得我最终想要的东西(直接在上面)。

我怎样才能模糊左加入R?

0 投票
1 回答
83 浏览

r - stringdist_semi_join 仅显示来自 dataframe1 的列

我有两个数据框:

我尝试将这些数据框与模糊连接合并。

我正在寻找的结果是:

(对于 df1 中的每一行与 df2 中字符串距离 < 9 的 City 匹配,我希望新表中有一行包含 df1 和 df2 中字符串距离最低的所有列)当我这样做时:

我只收到这些列:

如果我完全加入,我会收到:

我可以删除包含 NA 和 group_by City.x 的行,尽管随后我丢失了前两行之一。

如果我做 inner_join 我收到这个:

stringdist_semi_join 不显示 df2 的列是不是很奇怪?是否有另一种方法可以达到我在上面第一个表格中寻找的结果?

非常感谢!

0 投票
1 回答
67 浏览

r - 带有两列的模糊连接,只有一对需要模糊连接语法的列

我正在尝试 inner_join 两个数据框,每个数据框有三列。第一个数据框包含日期、变量名称和预测值,而第二个数据框包含日期、变量名称和实际值。我加入的目的是按日期和正确的天气变量名称将预测值与实际值相匹配,以进行准确度分析。

我的第一个数据框 x 如下

数据框 x

我的第二帧 y 如下:

数据框 y

如您所见,x 预测日期框架有两个独立的天气预报,我想评估它们的准确性:Wx1 和 Wx2。每行在 Wx1 或 Wx2 之后列出了一个不同的天气变量,它们与数据框 y 中的实际数据完全一致。日期在 x 和 y 中的格式相同,并且可以在简单的 inner_join 中工作,但考虑到数据框 x 和 y 的 wx_vars 列中的字符串差异,我一直在尝试使用模糊连接。还没有运气。

这是我尝试过的,我最大的问题是我作为问题标题包含的内容。我还没有找到一个在两列上进行模糊连接的示例,其中一个列匹配可以在常规连接中工作,而另一列匹配需要模糊连接,在我的情况下是部分字符串匹配。

这两种解决方案都不走运。我是否缺少一些语法来更好地处理日期加入?我觉得 wx_vars 的fuzzy_inner_join 应该可以工作,但日期列可能是我的问题。

谢谢

0 投票
0 回答
247 浏览

r - data.table 与字符串的模糊和非模糊匹配

所以我的问题实际上与Lyngbakr 的问题相同,我有两个非常大的数据集,需要通过某些列中的完全匹配和其他列中的模糊匹配来连接它们。我希望匹配在出生日期列DOB和性别列中准确,gender但希望它们在names列中“相似”。

通过“相似”,我希望能够使用一组特定的标准,例如:

  • OSA 距离 <= 2 & JW 距离 <= 0.2 & ...

但是,如果这不可能,仅要求 OSA 距离 <= 2 将是朝着正确方向迈出的一大步。

当我尝试根据我自己的数据运行Lyngbakr's I 的答案时,我得到了错误:

以下是我尝试实施Lyngbakr答案的方法:

因此,在这里我只是尝试使用精确匹配DOB和模糊匹配进行左连接names,我已分别将其重命名为IDloc在两个数据集上。


数据

这是我的数据的一个小例子:

所需的输出如下:

我也尝试过使用chameau13 函数,但无法正确实现它,并且由于该函数没有文档,我不知道如何使用它。正如他在帖子中提到的那样,fuzzy_join()andfuzzy_left_join()函数效率不高,需要超过 100 TB 的 RAM 才能在完整的数据集上运行。因此需要另一种解决方案。

0 投票
1 回答
543 浏览

r - R blur_left_join 与时间

我正在尝试使用条件“ccode”=“Ticker”、“Date”=“Date”和“Time”=“Timestamp”合并两个表。但是,如果“时间”不完全匹配,则应查看“Timeint”(最多 -2 分钟)。因为这是我不能做的事情left_join——我在想fuzzy_left_join

我遇到两个问题:

  1. 我的数据存储在 bigquery 上,我可以做一个left_join工作。但是,当我尝试 a 时fuzzy_left_join,我收到以下错误消息:

“错误:tibble 中的所有列都必须是 1d 或 2d 对象:* Columncol为 NULL

  1. 我试图制作一个可重现的样本(这有点不同,因为它没有存储为 2 的列表),它也不起作用。

这是一个可重现的示例:

我在寻找:

我很感激这方面的任何帮助:)!

0 投票
1 回答
179 浏览

r - 多列模糊连接(多个)数据帧的最佳方法是什么?

我需要加入多个数据框,但考虑到实验是在线进行的,并且参与者在输入他们的 ID 时经常马虎,我添加了冗余。他们还必须添加父母姓名和邮政编码的字母。我手动检查(有点)并且有很多错误。现在我需要按多列合并,而不仅仅是参与者 ID。

我认为使用fuzzyjoin 包最有意义,但我不确定如何将多个数据帧按多列合并?我应该一次只模糊_正确_加入一个数据帧吗?我一共有6个。

非常感谢!

这里摘录一些给你一个想法: