为了账号安全,请及时绑定邮箱和手机立即绑定

按组添加ID列

按组添加ID列

狐的传说 2019-07-13 15:24:20
我希望根据纬度和经度两列在R中创建唯一ID,以便重复的位置具有相同的集群ID。例如:LAT        LONG    Cluster_ID13.5330 -15.4180   113.5330 -15.4180   113.5330 -15.4180   113.5330 -15.4180   113.5330 -15.4170   213.5330 -15.4170   213.5330 -15.4170   213.5340 -14.9350   313.5340 -14.9350   313.5340 -15.9170   413.3670 -14.6190   5
查看完整描述

3 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

.GRP加到data.table1.8.3,允许你做以下事情:


# Your data, as a data.frame

dat <- read.table(text='LAT LONG

13.5330 -15.4180 

13.5330 -15.4180 

13.5330 -15.4180 

13.5330 -15.4180 

13.5330 -15.4170 

13.5330 -15.4170 

13.5330 -15.4170 

13.5340 -14.9350 

13.5340 -14.9350 

13.5340 -15.9170 

13.3670 -14.6190', header=TRUE)


# Convert it to a data.table

# with keys as the combination of LAT and LONG

library(data.table)

DT <- data.table(dat, key="LAT,LONG")

DT[, Cluster_ID:=.GRP, by=key(DT)]

DT

#        LAT    LONG Cluster_ID

#  1: 13.367 -14.619          1

#  2: 13.533 -15.418          2

#  3: 13.533 -15.418          2

#  4: 13.533 -15.418          2

#  5: 13.533 -15.418          2

#  6: 13.533 -15.417          3

#  7: 13.533 -15.417          3

#  8: 13.533 -15.417          3

#  9: 13.534 -15.917          4

# 10: 13.534 -14.935          5

# 11: 13.534 -14.935          5


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 575 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信