У меня есть простой двоичный вектор a
, который я пытаюсь преобразовать в вектор b
с помощью R-функции cumsum
. Однако 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
Проблема в том, что всякий раз, когда в векторе a
появляется 0, предыдущее число должно быть увеличено на 1, но только для первого 0. Остальным присваивается одно и то же значение.
Любой совет был бы замечательным! :-)