【发布时间】:2018-04-03 22:26:33
【问题描述】:
我有一个数据集如下:
YEAR STATION DAT AbovePeak cumSum
<chr> <fct> <dttm> <lgl> <int>
1 1993 COOP:047821 1993-01-01 01:00:00 FALSE 0
2 1993 COOP:047821 1993-01-01 06:00:00 FALSE 0
3 1993 COOP:047821 1993-01-01 07:00:00 TRUE 1
4 1993 COOP:047821 1993-01-01 08:00:00 FALSE 1
5 1993 COOP:047821 1993-01-01 09:00:00 FALSE 1
6 1993 COOP:047821 1993-01-01 10:00:00 FALSE 1
7 1993 COOP:047821 1993-01-01 11:00:00 FALSE 1
8 1993 COOP:047821 1993-01-01 13:00:00 FALSE 1
9 1993 COOP:047821 1993-01-06 03:00:00 FALSE 1
10 1993 COOP:047821 1993-01-06 07:00:00 FALSE 1
使用之前的函数,我创建了 AbovePeak 列来指示某个值是高于还是低于预设的峰值。
但是,现在我希望在 24 小时窗口内计算 TRUE 事件的频率。然后我将在>= 1 TRUE Event 中使用这个合格天数,并将其除以测量的总天数。理想情况下,我会将其按YEAR 分组,例如:
YEAR numAbove percAbove numBelow percBelow cumPerc
<chr> <int> <dbl> <int> <dbl> <dbl>
1 1993 4 0.0808 4944 0.919 0.0808
2 1994 0 0. 4948 1.00 0.0808
3 1995 0 0. 4948 1.00 0.0808
4 1996 3 0.0606 4945 0.939 0.141
5 1997 1 0.0202 4947 0.980 0.162
【问题讨论】: