在动物园中重复最左边的非NA值来填充NA值

时间:2013-05-15 08:29:56

标签: r null zoo

如何通过重复zoo中最左边的非NA值来填充NA值?

在动物园pdf指南中,我们有执行此任务的函数na.fill。我的问题是如何说出最左边非NA值的函数?

下面的一个小例子

> z <- zoo(c(NA, 2, NA, 1, 4, 5, 2, NA))
> z
 1  2  3  4  5  6  7  8 
NA  2 NA  1  4  5  2 NA 
> na.fill(z, "extend")
  1   2   3   4   5   6   7   8 
2.0 2.0 1.5 1.0 4.0 5.0 2.0 2.0 
> na.fill(z, c("extend", NA))
 1  2  3  4  5  6  7  8 
 2  2 NA  1  4  5  2  2 

我想要的结果如下:

 1  2  3  4  5  6  7  8 
 NA  2 2  1  4  5  2  2 

1 个答案:

答案 0 :(得分:2)

library(zoo)
z <- zoo(c(NA, 2, NA, 1, 4, 5, 2, NA))
na.locf(z, na.rm = FALSE)
# 1  2  3  4  5  6  7  8 
#NA  2  2  1  4  5  2  2