我有一张这样的表:
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。基本的想法是,我想通过改变一个变量来创建箱子。我怎么能这样做?
感谢您的帮助!
答案 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)))