У меня есть фрейм данных, который выглядит следующим образом:
df <- data.frame((v1=c(4,5,6,1,2,3,4,5,6,1,2,3),v2=c(0,7,3,6,2,6,9,2,4,7,1,4))
Как получить cumsum для v2, если v1 увеличивается, а когда v1 уменьшается (падает с 6 до 1), cumsum должен запустить снова. (Представьте, что последовательность в v1 идет несколько раз от 1 до 6, но может начинаться и заканчиваться на любом количестве последовательности) Результат должен выглядеть следующим образом:
df <- data.frame((v1=c(4,5,6,1,2,3,4,5,6,1,2,3),v2=c(0,7,3,6,2,6,9,2,4,7,1,4), expected=c(0,7,10,6,8,14,23,25,29,7,8,12)
Спасибо за помощь