我有两个数据帧。一个人在地图上有约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)
我的问题是,我想遍历每个人,计算到每个地点的距离(即,为每个人返回三个不同的距离),然后仅对每个人保持最小的距离。最终的数据框有望是:
行的位置:名称,纬度,经度,最近地点,到该地点的距离
我假设这可能是一个“ for”循环,但是我有点迷失了。任何帮助将不胜感激,谢谢!