Aplicação de cumsum para vetor binário

Eu tenho um vetor binário simplesa que eu tento traduzir em vetorb usando a função Rcumsum. Contudo,cumsum não retorna exatamente vetorb.

Aqui está um exemplo:

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

O problema é que sempre que um 0 aparece no vetora então o número anterior deve ser aumentado em 1, mas somente para o primeiro 0. Os restantes recebem o mesmo valor.

Qualquer conselho seria ótimo! :-)

questionAnswers(1)

yourAnswerToTheQuestion