问题标签 [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.
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的以下建议的基础上进行构建。
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”值本身。
如果我能在这方面得到帮助,我将不胜感激!
r - R:使用 agrep 和 data.table 进行模糊合并
我尝试合并两个 data.tables,但由于股票名称的拼写不同,我丢失了大量数据点。因此,我正在研究模糊合并,而不是完全匹配。
在“Name”上合并dt1和dt2时,ASML HOLDING会因为添加了“NV”而被排除在外,但实际数据会是准确的。
首选的最终数据输出如下所示:
我接下来尝试的是以下内容:
但是,我收到以下错误,
参数 'pattern' 的长度 > 1 并且只使用第一个元素
该错误是有道理的,因为 dt1$Name 比 1 长,但我相信如果它会逐行考虑 dt1$Name 这将是一个可能的解决方案。
这可能是一个愚蠢的错误,但由于某种原因,我无法理解它。此外,我更喜欢使用 data.table,因为我的数据集相当大,到目前为止它工作得非常好。此外,我是堆栈溢出的新手,如果我的问题有点不对劲,我很抱歉。
最后,我找到了一段代码可以完成这项工作,但对于实际使用来说太慢了。R中的模糊合并
r - R:记录链接问题,所有字段组合在 1 列中
我必须将数据集 A 中的 a 列与数据集 B 中的 b 列相匹配。但是不同的变量不在单独的字段(a、b、c 列)中,而是在同一个字段中。
我一直在研究RecordLinkage和fastLink包,它们在分隔字段时效果很好。
单独的字段:
快速链接示例
记录链接示例
组合字段的问题:
我希望无论在同一字段中以及无论姓名、城市和出生日期的顺序如何,记录都能匹配。
linux - shell - 在 agrep 中显示最佳匹配的错误数
我要做的是获取文件中最匹配的单词以及使用agrep
. 现在我只能使用这个脚本来获取这个词:
其中bla{1,2,3}是一些单词。
我的输出如下:
有什么方法可以让我获得错误数量(上面的输出示例中的2,1,4,2 )?
r - agrep 坚持匹配毫秒(而不仅仅是秒)
我正在尝试agrep
匹配seconds
to second
and not millisecond
,但似乎没有任何价值costs
来实现这一点。
我特别感到困惑的是,deletions
/的成本insertions
似乎没有任何价值——在我看来,second
是一次删除,seconds
而millisecond
一次删除和 5 次插入。
(警告这lapply
可能需要一段时间......你会得到相同的结果length.out = 10
并且0:10
更快)
我在这里想念什么?有没有办法用 完成我的任务(匹配seconds
和second
不匹配millisecond
)agrep
?
r - 返回与模糊匹配匹配的单词向量
我正在使用agrepl()
通过模糊匹配单词来过滤 data.table。这对我来说很好,使用这样的东西:
显然,通过查看这个,您可以看到在这种情况下“setos”将与“setosa”模糊匹配。我想要的是获得与“setosh”匹配的单词向量。所以虽然在这个例子中不相关,但如果它包含另一个类别,如“seposh”,那也会匹配,所以你会有一个向量是c("setosa", "seposh")
.
编辑:
感谢下面的答案 - 我可以看到如何在仅查看向量时隔离发生模糊匹配的值,但我的问题是:
- 我只想要匹配的字符串,而不是整个值。
- 我无法在我的 data.table 上复制它。
例如,如果我更改一个值以更容易地说明这一点......
您可以看到我没有在向量中得到结果,并且结果包括完整的值“setosh species”,而不仅仅是“setosh”(作为匹配的部分)。
希望这更有帮助!