Ниже у меня есть код с тремя столбцами: поле для группы, поле открытия/закрытия для магазина и текущая сумма в 3 месяца для магазина. У меня также есть желаемый выход решения.идентификация строк в кадре данных, которые отображают шаблоны
Мой набор данных можно охарактеризовать как наличие сотрудников. Вы можете предположить, что каждая строка будет другим периодом времени (час, день, месяц, год, что угодно). В открытой/закрытой колонке я имею, присутствовал ли сотрудник. Столбец 3month roll представляет собой сумму предыдущих строк.
Я хочу, чтобы определить это ненулевые значения в этом столбце прокатки суммы следующие разрыв по меньшей мере 3 нулевых строк для этой конкретной группы. Если в этом наборе данных нет данных, вы можете предположить, что может быть больше одного «пробела» присутствующих нулей.
structure(list(Group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L), .Label = c("A", "B"), class = "factor"), X0_closed_1_open = c(0L,
1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L), X3month_roll_open = c(0L,
0L, 1L, 2L, 2L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 2L, 0L, 1L, 1L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L), desired_solution = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L), .Label = c("no", "yes"), class ="factor")), .Names = c("Group", "X0_closed_1_open", "X3month_roll_open", "desired_solution"), class = "data.frame", row.names = c(NA,
-26L))