我想测试特定列中的值是否包含NA值,如果是,则用上一行中的值填充该NA空间。我仍在尝试摆脱apply系列功能的困扰。

例如。我想转这个:

      Date   Balance
2012-01-01      1000
2012-01-02        NA
2012-01-03        NA
2012-01-04      1200
2012-01-05      1215
2012-01-06        NA

进入:
      Date   Balance
2012-01-01      1000
2012-01-02      1000
2012-01-03      1000
2012-01-04      1200
2012-01-05      1215
2012-01-06      1215

最佳答案

这是Zoo包中na.locf函数的一项任务。参见?na.locf
考虑DF是您的data.frame,然后:

DF <- read.table(text="      Date   Balance
2012-01-01      1000
2012-01-02        NA
2012-01-03        NA
2012-01-04      1200
2012-01-05      1215
2012-01-06        NA", header=TRUE)

library(zoo)
na.locf(DF)
        Date Balance
1 2012-01-01    1000
2 2012-01-02    1000
3 2012-01-03    1000
4 2012-01-04    1200
5 2012-01-05    1215
6 2012-01-06    1215

关于R-遍历每一行并填充上一行的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14900165/

10-12 16:18
查看更多