我希望在我的分组数据框中寻找模式.我正在try 识别信号列中包含值1的3个连续行的序列,然后一旦信号列的第3行包含1,就将警告列设置为真.
当我想要判断的滞后数很小时,我可以这样做,但如果我想要将其扩展到寻找30个连续的值,那么如果不是这样的话,就会变得无法管理.
df <- data.frame(Group = c("A", "A", "A", "A", "B", "B", "B", "C", "C", "C", "C"),
Signal = c(1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1))
按组判断包含1的信号列中的三个连续行
df <- df %>%
group_by(Group) %>%
mutate(Alert = ifelse(Signal == 1 & lag(Signal) == 1 & lag(Signal, 2) == 1, "Yes", "No"))
对于较大的滞后值,是否有更具伸缩性的方法?