r - 使用 R 中的先前值替换 0 值
问题描述
我有一些零值,想用 R 中的前一个值替换。
X变量:1 3 6 0 7 8 0 0 9 8 9 0 0 0 4 7 2 4
X 新变量:1 3 6 6 7 8 8 8 9 8 9 9 9 9 4 7 2 4
解决方案
您可以使用 dplyr 和 tidyr 软件包。
library(dplyr)
library(tidyr)
df <- data.frame(var = c(1,2,3,0,7,8,0,0,9,8,9,0,0,0,4,7,2,4))
df <- df %>%
dplyr::mutate(var = ifelse(var == 0, NA, var)) %>%
tidyr::fill(var, .direction = c("down"))
df
> df
var
1 1
2 2
3 3
4 3
5 7
6 8
7 8
8 8
9 9
10 8
11 9
12 9
13 9
14 9
15 4
16 7
17 2
18 4
推荐阅读
- linux - 插入设备时使用 android reverse 通过 USB 启动 ssh
- python - 如何对熊猫组中的每组数据应用函数
- excel - 我无法刷新导入到 Excel 电子表格中的 SharePoint 列表数据,该电子表格已上传到同一网站,使用 Excel Web Access 显示
- javascript - Vue3:v-model的问题,它不更新组件
- java - 在 Spring webflux 中抛出异常 vs Mono.error()
- android - Unity,JSON 文件 - Android 问题,找不到我的 JSON 文件
- visual-studio-code - VisualStudioCode 在调试时打印到终端时引发错误
- blockchain - 坚固性 v0.6.0。后备功能。他们需要什么?
- angular - httpClient 上的 Angular 循环
- yocto - gprolog 配方的 Autoreconf 失败