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]]

______________________________________________
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.

Reply via email to