【发布时间】:2021-01-26 12:32:13
【问题描述】:
如果字符串完全存在于其他表的列中,我正在尝试匹配表。但是,我设法部分加入了它,然后我应用 Levenstein 距离来获得近距离匹配。这种方法的使用和准确性有限。方法:
checkg <- check %>%
fuzzy_inner_join(LOCATIONS, by = c("STRING" = "STRING"), match_fun = str_detect) %>%
rowwise() %>%
mutate(DIST = adist(x=STRING, y=LOCATION, ignore.case = TRUE))
有没有办法通过以下方式映射它?输出表中的 STATUS 列只是为了明确部分字符串匹配不是目标。输出中不需要它。谢谢
TABLE 1
**STRING**
BATANGAS
QINGDAO
TABLE2
**STRING**
BATNAGAS LUZON
QINGDAO PT
OUTPUT TABLE checkg
TABLE1.STRING TABLE2.STRING STATUS
BATANGAS BATNAGAS LUZON Accept
QINGDAO QINGDAO PT Accept
BATANGAS TANGA Reject
【问题讨论】:
-
我假设 check 是 table1 而 loactions 是 table 2。是吗?
-
是的。 check 是存在奇数字符串的表 1,LOCATIONS 是保存正确字符串的表。
-
那么
TANGA在您的样本中作为值保存在哪里? -
TANGA 保存在 LOCATIONS
-
好的。这意味着 tanga 是最接近的模糊匹配,但为什么该状态被拒绝?你有匹配/距离的阈值限制吗?