我正在尝试将一张表中包含的手机塔 ID 与手机塔 ID 的位置主表(以纬度为单位)进行匹配。位置表中的 ID 格式与第一个表中的格式不同,我试图用它agrep()
来进行模糊匹配。举个例子,假设我要匹配的 ID 是:
x <- c("405-800-125-39883")
位于位置表中的 ID 示例:
y <- c("405-810-1802-19883", "405-810-2101-29883", "405-810-1401-31883",
"405-810-5005-49883","125-39883","405-810-660-39883")
然后我使用agrep()
不同的组合max.distance
:
agrep(x,y,max.distance=0.3,value=TRUE)
这将返回:
[1] "405-810-1802-19883" "405-810-2101-29883" "405-810-1401-31883" "405-810-5005-49883"
[5] "405-810-660-39883"
而我真正追求的价值是"125-39883"
我也尝试了包中的stringdist_join()
功能stringdist
并将其应用于两个不同的数据框max_dist
,但没有成功。基本上,我正在寻找的是最后一个连字符之后的完美匹配,然后是倒数第二个连字符上的数字,依此类推。有没有办法做到这一点?