我在 R 中有一个数据框,其结构如下。我想通过结转最近的非缺失值来填充缺失值,但我想回顾 4 行并使用该值来填补空白。我可能不清楚这个问题,但你可以看看下面的结果示例。
maker num
1 local_1 1
2 local_2 2
3 local_3 5
4 local_4 6
5 local_1 NA
6 local_2 NA
7 local_3 NA
8 local_4 NA
9 local_1 4
10 local_2 7
11 local_3 8
12 local_4 9
13 local_1 NA
14 local_2 NA
15 local_3 NA
16 local_4 NA
转换为:
maker num
1 local_1 1
2 local_2 2
3 local_3 5
4 local_4 6
5 local_1 1
6 local_2 2
7 local_3 5
8 local_4 6
9 local_1 4
10 local_2 7
11 local_3 8
12 local_4 9
13 local_1 4
14 local_2 7
15 local_3 8
16 local_4 9
NA 的数量总是能被 4 整除,但没有连续 NA 数量的模式。
library(dplyr)
df |>
mutate(num = coalesce(num, lag(num, 4)))