R dplyr,变量变化的组表

时间:2017-05-31 12:14:33

标签: r dplyr

我有一张这样的表:

Time                   Indicator    Value
"2017-05-22 13:52:10"  1            10
"2017-05-22 13:52:12"  1            11
"2017-05-22 13:52:14"  1            9
"2017-05-22 13:52:16"  0            4
"2017-05-22 13:52:18"  0            10
"2017-05-22 13:52:20"  1            7
"2017-05-22 13:52:22"  1            9
"2017-05-22 13:52:24"  1            7

我想计算三个值:所有行的均值,其中指标是不变的。

所以我想通过指标对三个箱子进行分组:第一个Bin指标= 1,第二个Bin指标= 0,第三个仓位指标= 1。基本的想法是,我想通过改变一个变量来创建箱子。我怎么能这样做?

感谢您的帮助!

1 个答案:

答案 0 :(得分:-3)

我们可以使用rleid

中的data.table
library(data.table)
setDT(df1)[, grp := rleid(Indicator)]

或使用dplyr

library(dplyr)
df1 %>% 
    mutate(grp = cumsum(c(TRUE, diff(Indicator)!=0)))