问题标签 [agrep]

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 投票
2 回答
1158 浏览

r - R中的部分字符串匹配并修剪字符

这是一个数据框和一个向量。

现在,对于 var1 中与 vec 中的值最接近(我想匹配前 n 个字符)的所有值,在 var1 中只保留 vec前 3 个字符,以便所需的解决方案是:

由于“abcd”在 vec 中与“ab”最接近,我们只保留最多 3 个“ab”字符,在这种情况下,在 df2 中为 2,但“efgh”在 vec 中不存在,所以我们保持原样即df2中的“efgh”等等。

我可以使用 dplyr、stringr、fuzzyjoin、agrep 或 blurwuzzyr 来完成此任务吗?感谢 Psidom,您可能希望在https://stackoverflow.com/a/51053674/6762788的以下建议的基础上进行构建。

0 投票
0 回答
67 浏览

r - 当字符串不同时使用 R 进行文本匹配

我正在尝试使用文本字符串向量$contractor和来识别两个数据集之间匹配的观察结果$employer,并创建一个关于承包商是否在雇主列表中的 TRUE/FALSE 指示器。

pmatch 命令说有 0 个匹配项,但这是因为公司名称输入草率且拼写不一致;显然有比赛。我也使用了模糊匹配命令 agrepl,但在我的实际数据中,匹配的数量和质量会随着接受的 Levenshtein 距离的微小变化而发生令人难以置信的变化。

这里这里也有一些答案,但我缺乏高级编程经验使我无法在那里应用这些概念。任何想法表示赞赏!

0 投票
2 回答
942 浏览

r - 如何使用 agrep 获得模糊字符串匹配的精确通用“max.distance”值?

我试图找出使用 agrep 在两个字符串名称之间进行模糊字符串匹配的最佳精度。

但是,我需要选择一种精度“max.distance”来在我尝试匹配的所有字符串中应用相同的精度,因为字符串的数量很大。无法为我尝试匹配的每个字符串选择最佳精度值“max.distance”。

例如,假设我为每个“BANK OF AMERICA CORP”和“1st Capital Bank”使用精度“max.distance”作为“0.2”、“0.1”和“0.05”。

首先,以下是“美国银行”的“最大距离”为“0.2”、“0.1”和“0.05”:

然后下面是“0.2”、“0.1”和“0.05”的“最大距离”的“第一资本银行”:

如您所见,很难找到“max.distance”的通用精度值来应用于每个字符串,例如“BANK OF AMERICA CORP”和“1st Capital Bank”。除了这两个之外,我还有更多的公司名称,这就是为什么我很难找到模糊字符串匹配的通用精度值和命令的原因。

C1999_0 的原始数据文件太大而无法附加,因此我认为仅使用如上所示的输出值就足以复制。

我知道有几个子类别需要操纵,例如成本、替换、插入等,但它们并没有太大区别,只改变“max.distance”值本身。

如果我能在这方面得到帮助,我将不胜感激!

0 投票
1 回答
1713 浏览

r - R:使用 agrep 和 data.table 进行模糊合并

我尝试合并两个 data.tables,但由于股票名称的拼写不同,我丢失了大量数据点。因此,我正在研究模糊合并,而不是完全匹配。

在“Name”上合并dt1和dt2时,ASML HOLDING会因为添加了“NV”而被排除在外,但实际数据会是准确的。

首选的最终数据输出如下所示:

我接下来尝试的是以下内容:

但是,我收到以下错误,

参数 'pattern' 的长度 > 1 并且只使用第一个元素

该错误是有道理的,因为 dt1$Name 比 1 长,但我相信如果它会逐行考虑 dt1$Name 这将是一个可能的解决方案。

这可能是一个愚蠢的错误,但由于某种原因,我无法理解它。此外,我更喜欢使用 data.table,因为我的数据集相当大,到目前为止它工作得非常好。此外,我是堆栈溢出的新手,如果我的问题有点不对劲,我很抱歉。

最后,我找到了一段代码可以完成这项工作,但对于实际使用来说太慢了。R中的模糊合并

0 投票
1 回答
503 浏览

r - R:记录链接问题,所有字段组合在 1 列中

我必须将数据集 A 中的 a 列与数据集 B 中的 b 列相匹配。但是不同的变量不在单独的字段(a、b、c 列)中,而是在同一个字段中。

我一直在研究RecordLinkagefastLink包,它们在分隔字段时效果很好。

单独的字段:

快速链接示例

记录链接示例

组合字段的问题:

我希望无论在同一字段中以及无论姓名、城市和出生日期的顺序如何,记录都能匹配。

0 投票
1 回答
67 浏览

r - duplicates in agrep function

I have the following code:

The output is the following:

However I am expecting the following output:

enter image description here

Any ideas?

0 投票
1 回答
87 浏览

linux - shell - 在 agrep 中显示最佳匹配的错误数

我要做的是获取文件中最匹配的单词以及使用agrep. 现在我只能使用这个脚本来获取这个词:

其中bla{1,2,3}是一些单词。

我的输出如下:

有什么方法可以让我获得错误数量(上面的输出示例中的2,1,4,2 )?

0 投票
0 回答
34 浏览

r - agrep 坚持匹配毫秒(而不仅仅是秒)

我正在尝试agrep匹配secondsto secondand not millisecond,但似乎没有任何价值costs来实现这一点。

我特别感到困惑的是,deletions/的成本insertions似乎没有任何价值——在我看来,second是一次删除,secondsmillisecond一次删除和 5 次插入。

(警告这lapply可能需要一段时间......你会得到相同的结果length.out = 10并且0:10更快)

我在这里想念什么?有没有办法用 完成我的任务(匹配secondssecond不匹配millisecondagrep

0 投票
1 回答
170 浏览

bash - 编写一个脚本,使用 agrep 逐行遍历文档中的行与另一个文档中的行并获得结果

我正在尝试编写一个脚本,该脚本使用 agrep 循环遍历一个文档中的文件并将它们与另一个文档进行匹配。我相信这可能会使用嵌套循环,但是我不完全确定。在模板文档中,我需要它获取一个字符串并将其与另一个文档中的其他字符串匹配,然后移动到下一个字符串并再次匹配

在此处输入图像描述

如果由于某种奇怪的原因无法看到图像,我也会在底部包含链接。另外,如果您需要我解释更多,请告诉我。这是我的第一篇文章,所以我不确定这将如何被理解或者我是否使用了正确的术语:)

我已经查看了有关循环的各种网站

0 投票
2 回答
529 浏览

r - 返回与模糊匹配匹配的单词向量

我正在使用agrepl()通过模糊匹配单词来过滤 data.table。这对我来说很好,使用这样的东西:

显然,通过查看这个,您可以看到在这种情况下“setos”将与“setosa”模糊匹配。我想要的是获得与“setosh”匹配的单词向量。所以虽然在这个例子中不相关,但如果它包含另一个类别,如“seposh”,那也会匹配,所以你会有一个向量是c("setosa", "seposh").

编辑:

感谢下面的答案 - 我可以看到如何在仅查看向量时隔离发生模糊匹配的值,但我的问题是:

  • 我只想要匹配的字符串,而不是整个值。
  • 我无法在我的 data.table 上复制它。

例如,如果我更改一个值以更容易地说明这一点......

您可以看到我没有在向量中得到结果,并且结果包括完整的值“setosh species”,而不仅仅是“setosh”(作为匹配的部分)。

希望这更有帮助!