如何用 R 数据框列中的下一个位置出现的第一个非零替换零?
要将零替换为 R 数据框列中下一个位置出现的第一个非零,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,使用na.locfzoo 包的函数将零替换为数据框列中下一个位置出现的第一个非零。
创建数据框
例子
让我们创建一个数据框,如下所示 -
> x<-sample(0:5,20,replace=TRUE)> df<-data.frame(x)
> df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
输出
x1 5
2 4
3 2
4 2
5 5
6 4
7 1
8 1
9 5
10 4
11 2
12 4
13 0
14 2
15 3
16 1
17 0
18 2
19 3
20 4
用下一个位置出现的第一个非零替换零
例子
使用na.locfzoo 包的函数将零替换为 df 列 x 中下一个位置出现的第一个非零 -
> library(zoo)> df$x<-na.locf(with(df,ifelse(x==0,NA_real_,x)),fromLast=TRUE)
> df
输出
x1 5
2 4
3 2
4 2
5 5
6 4
7 1
8 1
9 5
10 4
11 2
12 4
13 2
14 2
15 3
16 1
17 2
18 2
19 3
20 4
以上是 如何用 R 数据框列中的下一个位置出现的第一个非零替换零? 的全部内容, 来源链接: utcz.com/z/343849.html