【发布时间】:2015-10-24 07:46:38
【问题描述】:
我试图找出两个不同数据框中的点之间的距离,因为它们在其中一列中具有相同的值。
我认为第一步是连接或关联两个数据框中的数据。例如,数据框 A 和 B 都包含经纬度信息,并且它们共享列 Name。请注意,对于给定的名称,每个数据帧中的纬度/经度信息是不同的。这就是为什么我要计算它们之间的距离。
我设想最终的函数类似于 A$Name=B$Name 然后使用它们对应的纬度/经度数据来计算它们之间的距离。
有什么想法吗?
示例数据:
A <- data.frame(Lat=1:4,Long=1:4,Name=c("a","b","c","d"))
B <- data.frame(Lat=5:8,Long=5:8,Name=c("a","b","c","d"))
现在我想将A 和B 联系起来,这样我就可以问一个终极问题,如果A$Name==B$Name 使用它们对应的经纬度数据,它们之间的距离是多少。
我还应该注意,我将无法进行简单的欧几里德距离,因为这些点出现在水中,并且它们之间的路径距离需要在水中(或以某个区域为界)。对此的任何帮助也将不胜感激。
【问题讨论】:
-
您应该想出一个MRE 来展示您的输入和所需的输出。看起来您想合并一列,然后计算距离。合并将是关键。
标签: r dataframe distance latitude-longitude