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

最佳答案

这个怎么样:

制作可重现的示例数据:

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 获取连续日期的运行计数,遵循 this answerthis answer :
(rle (cumsum( c(0, diff(as.Date(dat$V1)) > 1) ) ) )$lengths
[1] 2 1 1 2 4

关于r - 计算连续日期的频率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10426575/

10-12 17:32