我有一个 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 answer 和 this 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/