[R] lag a data.frame column?

Gabor Grothendieck ggrothendieck at gmail.com
Wed Sep 9 20:17:19 CEST 2009


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 <markknecht at 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 at 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.
>




More information about the R-help mailing list