鉴于下面的数据集:
tmp = data.frame(id = c(1,1,1, 2, 2, 3),
cont_date = c("2015-01-01", "2016-01-01", "2017-01-01", "2017-01-01", "2015-01-01", "2016-01-01"))
library(lubridate)
tmp$cont_date = ymd(tmp$cont_date)
Run Code Online (Sandbox Code Playgroud)
我可能遗漏了一些明显的东西,但我期待以下代码
tbl_df(tmp) %>% group_by(id) %>% arrange(cont_date) %>% mutate(seqnum = 1:length(id))
Run Code Online (Sandbox Code Playgroud)
创建每个记录块的序列号,按ID分组.相反,这就是我得到的:
id cont_date seqnum
1 1 2015-01-01 1
2 2 2015-01-01 2
3 1 2016-01-01 3
4 3 2016-01-01 4
5 1 2017-01-01 5
6 2 2017-01-01 6
Run Code Online (Sandbox Code Playgroud)
我不想要所有记录的序列号,但是对于每个块.看起来这group_by部分被忽略了.
任何帮助都感激不尽.
| 归档时间: |
|
| 查看次数: |
3574 次 |
| 最近记录: |