我想根據另一列在一列中查找信息。所以我在一列中有一些詞,在另一列中有完整的句子。我想知道它是否找到這些句子中的單詞。但有時這些詞不一樣,所以我不能使用SQL like
函數。因此,我認爲模糊匹配+某種形式的「喜歡」的數據是這樣的功能將是有益的:模糊匹配下一列中同一行的一列中的行
Names Sentences
Airplanes Sarl Airplanes-Sàrl is part of Airplanes-Group Sarl.
Kidco Ltd. 100% ownership of Kidco.Ltd. is the mother company.
Popsi Co. Cola Inc. is 50% share of PopsiCo which is part of LaLo.
數據擁有約2000行這需要一個邏輯找到飛機Sarl公司是否確實在句子或者不是,它也適用於Kidco有限公司,它在句子中是'Kidco.Ltd'。
爲簡單起見,我不需要在列中搜索所有語句,只需要查找Kidco Ltd.並在數據框的同一行中搜索它。
我已經嘗試過在Python與: df.apply(拉姆達S:fuzz.ratio(S [ '名稱'],S [ '句']),軸= 1)
但我有很多unicode/ascii錯誤,所以我放棄了,並且想在R中嘗試。 有關如何在R中執行此操作的任何建議?我已經看到Stackoverflow上的答案,它可以模糊匹配列中的所有句子,這與我想要的不同。有什麼建議麼?
你能向我們提供了答案那模糊匹配的一切? –
因爲你的桌子很小,你可以嘗試levenshtein距離。說d是距離,n1是col1中的字符數,n2是col2中的字符數。如果名稱完全不在句子中,則距離應該更接近n2,如果距離應該是n2-n1。然後你會定義一個截斷點,我認爲它可能會運行良好。 –