2012-03-30 63 views
3

我正在研究一个包含某些列中的某些0的xts对象,并且我需要用最后一个不同于0在序列中找到。R xts:将时间序列中的所有0值转换为最后找到的值不同于0

例如,我在这里简化使用常规[R向量:

v = c(1, 2, 3, 0, 0, 0) 

我需要改变所有的0与最后的值= 0的顺序,在这种情况下,3所产生的载体应该是:

> v 
[1] 1 2 3 3 3 3 

我该如何做到这一点,可能使用transform()或其他向量操作?

回答

4

将零至NA和使用na.locf

x <- .xts(c(1, 2, 3, 0, 0, 0), 1:6) 
x[x==0] <- NA 
na.locf(x) 
相关问题