[英]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.