【发布时间】:2018-09-14 16:42:16
【问题描述】:
我有一个包含大约 100 万条记录的 DF。每条记录都包含纬度和经度,记录按照示例数据进行分组(大得多的组除外)
data.frame(Latitude=c(-30.25,-30.89,-30.48,-30.10),
Longitude=c(116.321,116.98,116.78,116.38),
grp=c('a','a','b','b'))
在每个组中,我需要找到任意两组坐标之间的最大距离。一旦我在 DF 中拥有所有坐标组合,我就可以毫无问题地计算距离,但不能有效地将每个组合变成一个看起来像这样的 DF
data.frame(Latitude1=c(-30.25,-30.25,-30.89,-30.89,-30.48,-30.48,-30.10,-30.10),
Longitude1=c(116.321,116.32,116.98,116.98,116.78,116.78,116.38,116.38),
Latitude2=c(-30.25,-30.89,-30.25,-30.89,-30.48,-30.10,-30.48,-30.10),
Longitude2=c(116.321,116.98,116.98,116.321,116.78,116.38,116.38,116.78),
grp=c('a','a','a','a','b','b','b','b'))
我已经编写了一个嵌套循环来执行此操作,但它非常慢,而且我确信有更好的方法。 我查看了复制列并使用 expand.grid,但可以找到如何将它与多个因素一起使用 任何帮助,将不胜感激。谢谢
【问题讨论】:
-
我已经编写了一个嵌套循环来执行此操作...请发布所有代码尝试以便我们提供帮助。
标签: r coordinates expand