У меня есть вектор бинарных переменных, которые указывают, будет ли продукт продвигаться в течение периода. Я пытаюсь понять, как рассчитать продолжительность каждой акции и продолжительность между акциями.
promo.flag = c(1,1,0,1,0,0,1,1,1,0,1,1,0))
Другими словами: если promo.flag
совпадает с предыдущим периодом, то running.total + 1
, иначе running.total
сбрасывается на 1
Я пытался поиграть с функциями применения и cumsum, но не смог получить условный сброс рабочей суммы: - (
Вывод, который мне нужен:
promo.flag = c(1,1,0,1,0,0,1,1,1,0,1,1,0)
rolling.sum = c(1,2,1,1,1,2,1,2,3,1,1,2,0)
Кто-нибудь может пролить свет на то, как этого добиться в R?