Как заполнить «последующие» числа, если в 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))]
Однако это решение не работает здесь; Я пытался, но не смог адаптировать код.
Может кто-нибудь еще придумать элегантное решение?
Заранее спасибо!