如何用R数据帧列中的先前值填充NA值?

要用下一个和上一个值填充NA值,我们可以使用na.locffromLast = TRUE的zoo包功能。这是一列的情况,如下所示-

x

0

NA

NA

1

1

NA

0

1

用下一个和上一个值填充NA值后的输出为-

x

0

0

0

1

1

1

0

1

考虑以下数据帧-

示例

x1<-sample(c(NA,rpois(2,1)),20,replace=TRUE)

x2<-sample(c(NA,rpois(2,5)),20,replace=TRUE)

df1<-data.frame(x1,x2)

df1

输出结果
   x1  x2

1  0    1

2  NA   6

3  NA   NA

4  1    6

5  1    NA

6  NA   NA

7  0    6

8  1    1

9  NA   6

10 1    NA

11 1    6

12 NA   NA

13 NA   6

14 1    NA

15 1    1

16 NA   6

17 NA   6

18 NA   NA

19 1    NA

20 1    6

加载Zoo软件包并用df1中的先前值替换NA值-

示例

library(zoo)

na.locf(na.locf(df1),fromLast=TRUE)

输出结果
   x1 x2

1  0  1

2  0  6

3  0  6

4  1  6

5  1  6

6  1  6

7  0  6

8  1  1

9  1  6

10 1  6

11 1  6

12 1  6

13 1  6

14 1  6

15 1  1

16 1  6

17 1  6

18 1  6

19 1  6

20 1  6

示例

y1<-sample(c(NA,rnorm(2)),20,replace=TRUE)

y2<-sample(c(NA,rnorm(2)),20,replace=TRUE)

df2<-data.frame(y1,y2)

df2

输出结果
        y1       y2

1  -0.4569616   NA

2   NA         -1.014162

3   NA         -1.014162

4  -0.4569616  -1.014162

5  -0.4569616  NA

6   0.2828478  1.282601

7  -0.4569616  NA

8   0.2828478  NA

9   0.2828478  -1.014162

10  NA          1.282601

11  0.2828478  -1.014162

12 -0.4569616   1.282601

13  0.2828478  -1.014162

14  NA         -1.014162

15  0.2828478  -1.014162

16  NA         NA

17 -0.4569616  NA

18 -0.4569616  -1.014162

19  0.2828478  -1.014162

20  NA         -1.014162

用df2中的先前值替换NA值-

示例

na.locf(na.locf(df2),fromLast=TRUE)
输出结果
        y1         y2

2  -0.4569616   -1.014162

3  -0.4569616   -1.014162

4  -0.4569616   -1.014162

5  -0.4569616   -1.014162

6   0.2828478    1.282601

7  -0.4569616    1.282601

8   0.2828478    1.282601

9   0.2828478   -1.014162

10  0.2828478    1.282601

11  0.2828478   -1.014162

12 -0.4569616    1.282601

13  0.2828478   -1.014162

14  0.2828478   -1.014162

15  0.2828478   -1.014162

16  0.2828478   -1.014162

17 -0.4569616   -1.014162

18 -0.4569616   -1.014162

19  0.2828478   -1.014162

20  0.2828478   -1.014162

以上是 如何用R数据帧列中的先前值填充NA值? 的全部内容, 来源链接: utcz.com/z/357955.html

回到顶部