Como preencher os números "seguintes" sempre que houver um 0 em R?
Eu tenho uma série de números:
n1 = c(1, 1, 0, 6, 0, 0, 10, 10, 11, 12, 0, 0, 19, 23, 0, 0)
Preciso substituir 0 com o número correspondente logo "atrás" dele, deixando os 0s na cauda sozinho (porque não há nada atrás deles):
n2 = c(1, 1, 6, 6, 10, 10, 10, 10, 11, 12, 19, 19, 19, 23, 0, 0)
Como posso passar de n1 para n2?
Essa parece ser uma pergunta muito mais difícil do que a que eu fiz anteriormente:
Como preencher os números anteriores sempre que houver um 0 em R?
onde o flodel criou uma solução elegante:
n2 <- n1[cummax(seq_along(n1) * (n1 != 0))]
No entanto, esta solução não funciona aqui; Eu tentei, mas não consegui adaptar o código.
Alguém pode descobrir uma solução elegante?
Desde já, obrigado!