Применение cumsum к двоичному вектору

У меня есть простой двоичный векторa который я пытаюсь перевести в векторb используя функцию Rcumsum, Тем не мение,cumsum точно не возвращает векторb.

Вот пример:

a <- c(1,0,0,0,1,1,1,1,0,0,1,0,0,0,1,1)

b <- c(1,2,2,2,3,4,5,6,7,7,8,9,9,9,10,11)

> cumsum(a)
[1] 1 1 1 1 2 3 4 5 5 5 6 6 6 6 7 8

Проблема в том, что всякий раз, когда 0 появляется в вектореa тогда предыдущее число должно быть увеличено на 1, но только для первых 0. Остальным присваивается то же значение.

Любой совет будет отличным! :-)

Ответы на вопрос(1)

Ваш ответ на вопрос