3

我有一个 data.frame 的形式:

Date
2011-08-16
2011-08-17
2011-08-28
2011-09-01
2011-09-05
2011-09-06
2011-10-01
2011-10-02
2011-10-03
2011-10-04

我想做的是在日期按顺序出现时进行计数,即它们并排。

在上面的例子中,我们将有 2,1,1,2,4

4

1 回答 1

5

这个怎么样:

制作可重现的示例数据:

dat <- read.table(text = "2011-08-16
2011-08-17
2011-08-28
2011-09-01
2011-09-05
2011-09-06
2011-10-01
2011-10-02
2011-10-03
2011-10-04")

使用 获取连续日期的运行计数rle,遵循此答案此答案

(rle (cumsum( c(0, diff(as.Date(dat$V1)) > 1) ) ) )$lengths
[1] 2 1 1 2 4
于 2012-05-03T07:38:16.523 回答