R:两个数据集之间的模糊连接

时间:2018-07-12 13:50:21

标签: r dplyr fuzzyjoin

我需要模糊匹配,并获取两个不同数据集中的邮编/地址之间的距离。

下面是一个示例:

2.2256666666666667

现在,我将name_a <- c("Aldo", "Andrea", "Alberto", "Antonio", "Angelo") name_b <- c("Sara", "Serena", "Silvia", "Sonia", "Sissi") zip_street_a <- c("1204 Roma Street 8", "1204 Roma Street 8", "1204 Roma Street 8", "1204 Venezia street 10", "1204 Venezia Street 110") zip_street_b <- c("1204 Roma Street 81", "1204 Roma Street 8A", "1204 Roma Street 8B", "1204 Roma Street 8C", "1204 Venezia Street 10C") db_a <- data.frame(name_a, zip_street_a) db_b <- data.frame(name_b, zip_street_b) names(db_a)[names(db_a)=='zip_street_a'] <- 'zipstreet' names(db_b)[names(db_b)=='zip_street_b'] <- 'zipstreet' library(fuzzyjoin)结合使用,来创建以下脚本:

library(dplyr)

脚本运行正常。但我希望以下地址组合之间具有不同的距离:

a)1204 Roma Street 8 vs.1204 Roma Street 81->距离= 0.0147
b)1204 Roma Street 8与1204 Roma Street 8A->距离= 0.0147

现在,罗马大街81号距离罗马大街8号很远。 另一方面,罗马大街8A号与罗马大街8号非常接近。

因此,对于8A,我需要距离非常接近0,对于81A,则需要远离0。

这样做怎么可能?

1 个答案:

答案 0 :(得分:0)

距离基于字符串匹配,即模糊匹配。但是您在说两个地址之间的物理距离吗?

在这种情况下,您需要根据每种地址收集经度和纬度数据。