小编JD3*_*JD3的帖子

计算所有可能的lats和longs组合之间的距离

我无法让下面的代码工作。我正在尝试计算数据集中所有可能的经纬度组合之间的距离。

我将使用的示例输入数据:

p <- data.frame(lat=runif(6,-90,90), lon=runif(6,-180,180) );
Run Code Online (Sandbox Code Playgroud)

我无法让下面的代码工作。距离函数不起作用,所以我尝试了distm,但这也给了我一个错误信息。错误消息列在代码下方。

d <- setNames(do.call(rbind.data.frame, 
                      combn(1:nrow(p), 2, simplify = FALSE)), 
              c('p1','p2'));
d$dist <- sapply(1:nrow(d), function(r){
    distance(p$lat[d$p1[r]], p$lat[d$p2[r]], p$lon[d$p1[r]], p$lon[d$p2[r]])
})

d$dist <- sapply(1:nrow(d), function(r){
    distm(p$lat[d$p1[r]], p$lat[d$p2[r]], p$lon[d$p1[r]], p$lon[d$p2[r]])
})

#> Error in distm(p$lat[d$p1[r]], p$lat[d$p2[r]], p$lon[d$p1[r]], p$lon[d$p2[r]]) : 
#>  unused argument (p$lon[d$p2[r]])
Run Code Online (Sandbox Code Playgroud)

r latitude-longitude

2
推荐指数
1
解决办法
550
查看次数

标签 统计

latitude-longitude ×1

r ×1