我正在计算球体上大量位置(5000)之间的距离矩阵(使用Haversine距离函数)。
这是我的代码:
require(geosphere)
x=rnorm(5000)
y=rnorm(5000)
xy1=cbind(x,y)
计算距离矩阵的时间为
system.time( outer(1:nrow(xy1), 1:nrow(xy1), function(i,j) distHaversine(xy1[i,1:2],xy1[j,1:2])))
执行此程序所需的时间很长。任何建议如何降低完成这项工作的时间!谢谢。