我的数据集中有一列如下所示:
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")
在使用时间列之前,顺序已经预先定义好了。我想要的是替换每个集群 ID 内的 NA,即,如果有一行是 2,然后是 NA,然后又是 2,我希望那个 NA 变成 2。数字之间的 NA 保持为 NA。示例:
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
我在这篇文章zoo::na.locf
中找到了该函数,它似乎接近我想要的,但我还需要考虑NA之后的值。有什么想法吗?