计算连续日期的频率

时间:2012-05-03 06:58:22

标签: r

我有一个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

1 个答案:

答案 0 :(得分: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")

this answerthis answer之后使用rle获取连续日期的运行次数:

(rle (cumsum( c(0, diff(as.Date(dat$V1)) > 1) ) ) )$lengths
[1] 2 1 1 2 4