我有两个数据框。一个地图上有大约 600 个人的位置,如下所示:
Names<-c("Mike","Ron","Joe")
Lat<-c(61.5,63.2,50.1)
Long<-c(-140.2,-139.2,-145.6)
df<-data.frame(Names,Lat,Long)
另一个具有人们可能需要到达的位置:
Places<-c("ClinicA","ClinicB","ClinicC")
Lat<-c(58.5,50.2,40.1)
Long<-c(-135.2,-133.2,-140.6)
df1<-data.frame(Places,Lat,Long)
我知道,如果我有一组单独的坐标,我可以使用 googleway 来获取两者之间的距离,如下所示:
df <- google_distance(origins = list(c("Melbourne Airport, Australia"),
c("MCG, Melbourne, Australia"),
c(-37.81659, 144.9841)),
destinations = c("Portsea, Melbourne, Australia"),
key = key)
我的问题是,我想遍历每个人,计算到每个地点的距离(即为每个人返回三个不同的距离),然后只为每个人保留最小的距离。生成的数据框有望为:
行:名称,纬度,经度,NearestPlace,到那个地方的距离
我假设它可能是一个“for”循环,但在这一点上我有点迷失了。任何帮助将不胜感激,谢谢!