Kha*_*idN -1 sequences r sequence dataframe dplyr
我有一个很大的data.frame,我想生成一个新的列(称为Seq),它有一个顺序值,每次不同的列发生更改时重新启动.下面是data.frame(带有省略的列)和名为Seq的新列的示例.正如您所看到的那样,有一个sequentiel计数,但每次有新的IDPath时,sequentiel计数都会重新开始.sequentiel长度可以有不同的长度,有些是1长,而其他是300.
IDPath LogTime Seq
AADS 19-06-2015 01:57 1
AADS 19-06-2015 01:55 2
AADS 19-06-2015 01:54 3
AADS 19-06-2015 01:53 4
DHSD 19-06-2015 12:57 1
DHSD 19-06-2015 10:58 2
DHSD 19-06-2015 09:08 3
DHSD 19-06-2015 08:41 4
Run Code Online (Sandbox Code Playgroud)
使用data.table
包,这里有一种获得你想要的方法:
require(data.table)
setDT(dt)[, Seq:=1:.N, by=IDPath]
# or, as mentioned by @DavidArenburg
setDT(dt)[, Seq:=seq_len(.N), by=IDPath]
dt
# IDPath LogTime Seq
#1: AADS 19-06-2015 01:57 1
#2: AADS 19-06-2015 01:55 2
#3: AADS 19-06-2015 01:54 3
#4: AADS 19-06-2015 01:53 4
#5: DHSD 19-06-2015 12:57 1
#6: DHSD 19-06-2015 10:58 2
#7: DHSD 19-06-2015 09:08 3
#8: DHSD 19-06-2015 08:41 4
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
970 次 |
最近记录: |