簡體   English   中英

計算R中不同ID長度的個體在兩個坐標列組之間的距離

[英]Calculate the distance between two coordinates columns group by individuals of different ID length in R

我有個人的位置,數據框如下:

 ID       Lat       Lon        Distance
 1        51.5184   -0.1382
 1        51.5147   -0.1532
 2        51.5184   -0.1342
 2        51.5147   -0.1522
 2        51.5537   -0.1556
 ...      ...       ...

我想計算每個人的移動距離。 我不太確定如何計算數據框中個人的點組距離。

我知道之前發布過一些類似的問題,例如: 如何計算R中沿列行的緯度和經度之間的距離? 我發現我們的情況有點不同。 當我使用這個功能時:

mutate(Distance = c(NA, distHaversine(cbind(Lon[-n()], Lat[-n()]), cbind(Lon[-1], Lat[-1]))))

在我的工作中,我發現錯誤subscript out of bounds ,這意味着ID的長度不同。 就像我的數據顯示的那樣,我有2個ID:1和3 ID:2,這導致了這個問題。 如果有人能告訴我如何修改這個功能以適合我的情況,我真的很感激。 謝謝。

mutate(df, Distance=distHaversine(cbind(Lon, Lat),cbind(lag(Lon),lag(Lat))))

對不起,我的壞 - 忘了distHaversine需要一個矩陣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM