2017-03-17 43 views
-2

独特的时间序列号,我有如下数据帧:分配由R中

dt: 
Time    users 
14-10-2016 13:00 a 
14-10-2016 13:05 b 
14-10-2016 13:05 c 
14-10-2016 14:20 a 
14-10-2016 14:20 b 
14-10-2016 14:20 a 
14-10-2016 14:25 d 

我想唯一的时间如下分配序号:我该如何分配序列

Time    users ID 
14-10-2016 13:00 a 1 
14-10-2016 13:05 b 2 
14-10-2016 13:05 c 2 
14-10-2016 14:20 a 3 
14-10-2016 14:20 b 3 
14-10-2016 14:20 a 3 
14-10-2016 14:25 d 4 

ID列中的数字?

回答

0

我们可以通过 '时间'

dt[, ID := .GRP, by = Time] 
dt 
#    Time users ID 
#1: 14-10-2016 13:00  a 1 
#2: 14-10-2016 13:05  b 2 
#3: 14-10-2016 13:05  c 2 
#4: 14-10-2016 14:20  a 3 
#5: 14-10-2016 14:20  b 3 
#6: 14-10-2016 14:20  a 3 
#7: 14-10-2016 14:25  d 4 
分组后 match

dt[, ID := match(Time, unique(Time))] 

或用.GRP使用