1

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

在动物园 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 
4

1 回答 1

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 
于 2013-05-15T09:25:56.950 回答