Dplyr的序列号

Bti*_*rt3 5 r dplyr

鉴于下面的数据集:

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部分被忽略了.

任何帮助都感激不尽.