Try this: > x <- 1:10 > head(c(rep(NA, 3), x), -3) [1] NA NA NA 1 2 3 4 5 6 7 > tail(c(x, rep(NA, 3)), -3) [1] 4 5 6 7 8 9 10 NA NA NA
depending on which direction you want. On Wed, Sep 9, 2009 at 1:43 PM, Mark Knecht <markkne...@gmail.com> wrote: > Sometimes it's the simple things... > > Why doesn't this lag X$x by 3 and place it in X$x1? (i.e. - Na's in > the first 3 rows and then values showing up...) > > The help page does talk about time series. If lag doesn't work on > data.frame columns then what would be the right function to use to lag > by a variable amount? > > Thanks, > Mark > > > X=data.frame(x=seq(1:10)) > X$x1=lag(X$x, 3) > X > > ______________________________________________ > 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.