Tenho uma coluna em um conjunto de dados parecida com esta:
cluster_id
1
1
1
1
NA
1
NA
NA
2
NA
2
NA
3
NA
NA
3
cluster_id <- c("1","1","1","1","NA","1","NA","NA","2","NA","2","NA","3","NA","NA","3")
A ordem já está predefinida antes de usar uma coluna de tempo. O que eu quero é substituir os NA's que estão dentro de cada ID de cluster, ou seja, se houver uma linha com 2, depois um NA e depois um 2 novamente, eu quero que esse NA se torne 2. Os NA's entre os números permanecem como NA's. Exemplo:
cluster_id cluster_id_new
1 1
1 1
1 1
1 1
NA 1
1 1
NA NA
NA NA
2 2
NA 2
2 2
NA NA
3 3
NA 3
NA 3
3 3
Encontrei a zoo::na.locf
função neste post , que parece estar próxima do que eu quero, mas também preciso levar em consideração o valor após o NA. Alguma ideia?