On Wed, 15 Oct 2014, jpm miao wrote:
Hi, I could not find a nice lag operator on zoo object. Perhaps there is, but I just couldn't find it.
See ?lag.zoo.
Basically I want the operator to return the lagged zoo object (with one or more variables ) with the original date. For example, if I write lag(x, -3), then I got the lagged series, but the first three observations are deleted.
Set na.pad = TRUE.
My code could work, but is not polished.
Yes, the ncol() does not work on vectors without dim and leads cannot be computed.
Someone helps or comments? lagzoo<-function(x, lag_n) { if(is.zoo(x)==FALSE) { stop("zoo objects for lagzoo, please") } if(ncol(x)==1) { y<-x t<-time(x) n<-length(t) y[(lag_n+1):n]<-x[1:(n-lag_n)] y[1:lag_n]<-NA return(y) } else { y<-x n<-nrow(x) y[(lag_n+1):n,]<-x[1:(n-lag_n),] y[1:lag_n,]<-NA return(y) } } [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.