r语言 - 如何从多个位置记录(纬度/经度读数)中获取平均位置



我的数据库中用户执行的每个操作都有多个位置,如下所示。我想获取这些距离的平均值或中心,以用作每个用户的单个位置。

Action  location.lon    location.lat
user1   -6.2346259      53.3371473
user1    0              0
user4   -6.22550044     53.59729241
user2   -6.262663209    53.33398243
user2   -6.289571616    53.32012803
user3    8.6388684      49.3024665
user5   -80.434882      39.2474397
user3   -2.460740516    52.60026199
user3   -122.5168562   -37.92878211

我在 R 和 mongodb 中有这些信息,所以我会对两者的建议感到满意。

提前谢谢你。

这将为您提供简单的方法。如果您正在寻找区域中心,则需要一个更复杂的公式:

df<-read.table(header=T,text="Action  location.lon    location.lat
user1   -6.2346259      53.3371473
user1    0              0
user4   -6.22550044     53.59729241
user2   -6.262663209    53.33398243
user2   -6.289571616    53.32012803
user3    8.6388684      49.3024665
user5   -80.434882      39.2474397
user3   -2.460740516    52.60026199
user3   -122.5168562   -37.92878211")
require(dplyr)
group_by(df,Action) %.%
  summarise(mean.lon=mean(location.lon),mean.lat=mean(location.lat))
  Action   mean.lon mean.lat
1  user1  -3.117313 26.66857
2  user2  -6.276117 53.32706
3  user3 -38.779576 21.32465
4  user4  -6.225500 53.59729
5  user5 -80.434882 39.24744

相关内容

  • 没有找到相关文章

最新更新