2017-03-17 2 views
-2

Ich habe einen Datenrahmen wie unten:Assign Seriennummer durch einzigartige Zeit in 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 

Ich möchte, wie unten durch eindeutige Zeitseriennummern zuweisen:

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 

Wie kann ich serielle zuweisen Zahlen in der ID-Spalte?

Antwort

0

Wir verwenden match

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

Oder mit .GRP, nachdem sie von 'Time' Gruppierung

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 
Verwandte Themen