r 从缺失值上方的单元格复制值

bis*_*178 4 replace r missing-data

我有一个很大的数据集,其较短版本如下

 Col1         Col2
 0            1
 1            0.9971
 4            NA
 6            NA
 7            NA
 14           NA
 18           0.9951
 22           NA
 25           NA
 46           0.9941
 57           NA
 59           NA
 60           0.9921
Run Code Online (Sandbox Code Playgroud)

对于 Col2 中缺失的值,我希望将 NA 替换为同一列 Col2 中其上方的值。最终的数据集如下所示。

    Col1         Col2
 0            1
 1            0.9971
 4            0.9971
 6            0.9971
 7            0.9971
 14           0.9971
 18           0.9951
 22           0.9951
 25           0.9951
 46           0.9941
 57           0.9941
 59           0.9941
 60           0.9921
Run Code Online (Sandbox Code Playgroud)

C. *_*aun 5

包中有一个函数na.locf(NA 最后的观察结转)可以执行此操作zoo

> zoo::na.locf(df)
   Col1   Col2
1     0 1.0000
2     1 0.9971
3     4 0.9971
4     6 0.9971
5     7 0.9971
6    14 0.9971
7    18 0.9951
8    22 0.9951
9    25 0.9951
10   46 0.9941
11   57 0.9941
12   59 0.9941
13   60 0.9921
Run Code Online (Sandbox Code Playgroud)