r - r 从缺失值上方的单元格中复制值
问题描述
我有一个大数据集,其较短的版本如下
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
对于 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
解决方案
包中有一个功能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
推荐阅读
- javascript - 如何在更改图像事件时阻止页面重新加载?
- c# - 使用链表实现队列 - 前端指针如何自动更新?
- c++ - 为什么存储在内存位置的值会发生变化?
- mqtt - 如何将我的主题路由到 mqtt 代理中的客户端
- ios - 向可滚动的 UITextView 添加渐变背景
- node.js - 如何使用 cqrs 模块在 nestjs 中进行查询?
- lighttable - Lighttable 中的字体显示不正确
- ios - NSDateFormat 是什么 1991-07-26T05:45:50.163
- mongodb - 提高 MongoDB 上聚合查询的性能
- java - JOOQ - 如何创建主键