2个不相等的数据帧与R中空间坐标的最佳合并?

Optimal merge of 2 unequal dataframes with spatial coordinates in R?

我需要一些帮助。我正在尝试合并具有不同列数和行数的 2 个数据帧(WIDE.2018WIDE.2015)。对不起,我不能分享数据。两者都有一组相似的空间坐标列(lonlat)。我正在尝试通过最佳独特对(例如 optimal)或通过 nearestreplace=F 合并它们(我正在使用 MatchIt 的类比术语)。我只能处理找到最近距离但允许重复观察的 cbind

正如 Geoffrey 所提到的(thks!),我正在寻找最佳 1:1 匹配以最小化所有匹配中的欧氏距离,确保每个点在另一个点中只有一个匹配 data.frame(有些点在较长的 data.frame 中不匹配)。

library (geosphere)

D = distm(WIDE.2018[, c("lon","lat")], WIDE.2015[, c("lon","lat")])

m1<-cbind(WIDE.2018, WIDE.2015[apply(D, 1, which.min),])

提前致谢!

基于这个答案:

我认为您正在寻找匈牙利算法。这是 R 中的一个实现,它声称可以使用矩形矩阵(例如,不相等的样本大小)。

https://rdrr.io/cran/RcppHungarian/man/HungarianSolver.html

我相信所需矩阵中的权重将是点之间的距离。