[R] lag operator on a zoo object - code sharing
jpm miao
miaojpm at gmail.com
Wed Oct 15 11:00:22 CEST 2014
Hi,
I could not find a nice lag operator on zoo object. Perhaps there is,
but I just couldn't find it. 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. My code could work, but is not polished.
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]]
More information about the R-help
mailing list