Dplyr的序列号

时间:2015-11-20 16:18:26

标签: 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)

我可能遗漏了一些明显的东西,但我期待以下代码

tbl_df(tmp) %>% group_by(id) %>% arrange(cont_date) %>% mutate(seqnum = 1:length(id))

创建每个记录块的序列号,按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

我不想要所有记录的序列号,但是对于每个块。看起来group_by部分被忽略了。

非常感谢任何帮助。

0 个答案:

没有答案