我有列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
也許你應該包括你的方法失敗的典型例子(而不是一個已經成功的例子)。尤其是你覺得不應該失敗的例子。 - 如果你很幸運,考慮這些例子可能已經給你一些關於如何解決問題的想法! –