Как заполнить «последующие» числа, если в R есть 0?

У меня есть строка чисел:

n1 = c(1, 1, 0, 6, 0, 0, 10, 10, 11, 12, 0, 0, 19, 23, 0, 0)

Мне нужно заменить 0 на соответствующее число прямо за ним, чтобы получить, оставив 0 в хвосте (потому что за ними ничего нет):

n2 = c(1, 1, 6, 6, 10, 10, 10, 10, 11, 12, 19, 19, 19, 23, 0, 0)

Как я могу получить от n1 до n2?

Кажется, это гораздо более сложный вопрос, чем тот, который я задавал ранее:

Как заполнить предыдущие числа, когда есть 0 в R?

где Flodel предложил элегантное решение:

n2 <- n1[cummax(seq_along(n1) * (n1 != 0))]

Однако это решение не работает здесь; Я пытался, но не смог адаптировать код.

Может кто-нибудь еще придумать элегантное решение?

Заранее спасибо!

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

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