我有列x
其中有一个字符串ABN-AMRO-NV/SUNTRUST-BK/WACHOVIA
和列y
其中有一个字符串SunTrust Banks
。正如你所看到的,第x
列有三个字符串,它们之间用斜杠分隔。所以,我不得不使用strsplit
拆分模糊匹配之前的字符串。为了做模糊匹配,我尝试了诸如stringdist
,adist
,agrep
等软件包。但是我没有像我期望的那样得到好的结果。模糊字符串匹配使用R
那么,应该怎样解决我的匹配问题呢?我如何处理这个匹配问题以获得好的结果?正如您在示例中看到的,SunTrust Banks
与我期望的词SUNTRUST-BK
匹配,使用模糊匹配。
此外,为了提供说明,我在第x
列和y
列中的字符串会有很大差异。例如,x
列中的字符串有时不会有正斜杠,意味着只有一个字符串。
谢谢大家的帮助和指导。
“没有我期望的那么好”有多好?另外,你是否总是在一个小的选择中有一场比赛?对于示例情况,几乎每个简单的方法都应该能够将中间选项标识为最佳匹配。 (包括上述使用levenshtein距离的'agrep')。 –
对不起,如果它看起来模糊。我的意思是我尝试了不同的最大值。使用匹配包的距离。设定的最大值距离为少数字符串工作,但不为休息。我的列'x'非常大,字符串变化很大。 – Santosh
也许你应该包括你的方法失败的典型例子(而不是一个已经成功的例子)。尤其是你觉得不应该失败的例子。 - 如果你很幸运,考虑这些例子可能已经给你一些关于如何解决问题的想法! –