问题标签 [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 投票
1 回答
816 浏览

r - 在R中保持通过模糊匹配匹配的最佳字符串

我在 R 中有两个数据框。一个是我想要匹配的短语的数据框以及它们在另一列(df.word)中的同义词,另一个是我想要匹配的字符串的数据框以及代码(df.string)。字符串很复杂,但为了方便起见,我们有:

我想创建 df.string$extract ,我希望在其中为字符串提供最佳匹配

像这样的专栏

提前感谢任何人的帮助。

0 投票
1 回答
39 浏览

r - 在没有完全匹配的情况下将值连接到现有 data.table(在间隔内匹配)

我在 data.table(DT1)中有一个列是递减计数(比如说pol_count),另一列是人口中的平均年龄(比如说AverageAge)。我正在尝试获取我的值pol_count(比如 400)和我的值AverageAge(比如 85),并将它们与名为FactorFile.

这是一瞥FactorFile

在这种情况下,pol_countis > 100 因此它将返回第三列的 ( Months) 值 12,并且AverageAgeis < 86 但 > 84 因此它将返回 20。然后我需要另一列来取最大值,所以最终答案是 20。最后,与 20 相关联的列Factor是 65%。

我不确定如何在不使用完全匹配的情况下加入表格。基本上我想要一个最后一个参数为 TRUE 的 VLOOKUP,将最接近的值拉到提供的查找值。

我试过使用包fuzzyjoin,这是我的声明。它运行,但我的 data.table 似乎没有发生任何事情:

关于如何正确使用模糊连接或更简单的方法来实现此连接的任何提示?总而言之,我试图在 DT1 中获取两列,并通过加入 FactorFile 将 Months 列和 Factor 列返回到 DT1。

谢谢!

0 投票
2 回答
117 浏览

r - 按模式反连接

TibbleA包含可能在 tibble 中找到的键/模式B。我的目标是识别在 tibble 中找不到的键/模式B

我想通过匹配模式反连接两个表:

我发现该功能fuzzyjoin应该可以工作,但我无法正确使用它:

编辑

最后我想要这样的东西:

0 投票
1 回答
101 浏览

r - 有没有办法通过将一列单词与 R 中的一列句子匹配来合并

例如:

所以我想将数据 1 与数据 2 合并,特别是通过将a列与c列匹配。问题是城市名称的拼写不同,句子通常包含不同点的城市名称。我试过使用 fuzzjoin 包,但我得到的匹配很少。有没有办法自动化这个?基本上我想得到

这个

0 投票
1 回答
84 浏览

r - 加入R中键的子字符串

我正在尝试以某种方式将两个表与一些代码连接起来,其中在一个列中,键可能是原始键的子集。

从这个问题中得到提示,我正在尝试使用以下方法进行模糊连接:

但我得到以下异常:

0 投票
1 回答
527 浏览

r - 使用精确匹配和模糊匹配在 R 中加入两个大型数据集

我正在尝试内部连接两个数据集:df150,000 个 obs 看起来像这样:

df2500,000 个 obs 看起来像这样:

我想得到类似的东西df_final

这些是一对一的匹配,所有的值都df1应该存在于df2. Postcode是完全匹配,而地址被分成多行而没有常规模式,所以我认为我最好的选择是匹配Name.

我尝试了这个fuzzyjoin包,但我得到了一个Error: cannot allocate vector of size 120.6 Gb,所以我想我必须使用另一种适用于更大数据集的方法。

关于解决此问题的最佳方法的任何想法是什么?

0 投票
1 回答
106 浏览

r - 进行模糊连接并仅在有一个时保留完全匹配,否则保留所有选项

我有两个数据框,我试图根据国家名称字段加入,我想要实现的是:当找到完美匹配时,我只想保留那一行,否则我想显示所有行/选项。

结果 (j) 显示 'Germany and Spain' 出现 3 次,第 1 次出现是完美匹配,我想只保留这一个并摆脱其他两个。“挪威和瑞典”没有完美的匹配,所以我想保留两个可能的选项/行(原样)。

我怎样才能做到这一点?

0 投票
1 回答
88 浏览

pandas - 在python中获取最近合并前后30分钟的记录

我在 csv 文件中有两个数据框。第一个数据描述了交通事件(df1),第二个数据具有每 15 分钟的交通记录数据(df2)。我想根据最接近的时间在它们之间合并。我使用了 python pandas_merge_asof,我得到了最接近的匹配。但我想从交通记录数据中获得比赛前后 30 分钟的记录。我想加入最接近交通数据时间的事件。如果事件发生在 14:02:00,它将与 14:00:00 记录的交通日期合并

例如:

1- 事件数据

2 - 交通数据

2-所需的表

我使用的代码如下

但它给了我这张桌子。

我想知道事件发生前后的情况。

任何想法?谢谢你。

*如果我这样问错了,请告诉我。

0 投票
1 回答
65 浏览

r - 如何通过语义匹配两个字符串?

输出:

对于这两种比较(Socks vs. Sock 和 Mouse vs. House),我得到相同的距离。到目前为止,一切都很好。但是现在我想在语义级别上匹配单词。在第一个比较(Socks 与 Sock)中,区别仅在于复数与单数。我会把这算作一场比赛。然而,在第二个比较(Mouse vs. House)中,这两个词的含义不同。我不想把这算作一场比赛。有什么建议我可以添加另一列(例如,“匹配”),在第一行(对于 Socks 与 Sock)和 FALSE 在第二行(对于 Mouse vs. House)中我将具有 TRUE?

有没有办法表明我想忽略后缀?考虑类似于“ignore_case = TRUE”的东西(见代码)

我有一个带有德语单词的长数据集。我更喜欢不需要使用字典的解决方案(即适用于更多用例的解决方案)。但是,如果没有办法解决它,我将不胜感激有关如何使用德语词典解决我的问题的详细信息。

0 投票
1 回答
61 浏览

r - 使用 stringdist_join 对两个数据帧进行分组

我目前正在做一个项目并且遇到了一个问题......我正在尝试根据候选人的姓名匹配两个数据框。我已经设法做到了这一点,但是除了 max_dist 为 2 之外,我开始得到重复的条目。但是,如果我可以在运行 stringdist_join 之前按种族(州和地区)对候选人进行“分组”,那么这些将很容易避免,因为每场比赛中只有少数候选人,几乎没有机会有两个名字相似的候选人。

目标是获得一个名为 tmpJoin 的表,其中我可以同时拥有候选人 ID 和 canVotes,以及名称、州、区。

任何建议将不胜感激!

下面是我的代码以及两个数据集的复制