# [R] Newbie trying to Lag Variables in a regression

Pfaff, Bernhard Bernhard.Pfaff at drkw.com
Fri May 30 10:37:14 CEST 2003

```<rwatkins at cornerstonelp.com> writes:

> Perhaps I am making this too hard, but how does one regress y(t) on a
> constant, x(t-1) and y(t-1)?  I've tried the manuals and until I get
> Dalgaard's book (just ordered on Amazon), I am stuck!

Not sure the book will unstick you...

However, the simple way is to create a new variable which shifts the
response, i.e.

yshft <- c(y[-1], NA) # pad with missing
summary(lm(yshft ~ x + y))

Alternatively, lag the regressors:

N <- length(x)
xlag <- c(NA, x[1:(N-1)])
ylag <- c(NA, y[1:(N-1)])
summary(lm(y ~ xlag + ylag))

Hello rwatkins,

in case you have to cope oftenly with lagged exogenous and/or endogenous
variables the following function might be handy, in particular if you want
to create longer lagged series (this is controlled by setting the argument
'd' to the relevant integer of the lagged period):

#
# Function: tslag (lagging a vector)
#
tslag <-
function(x, d=1)
{
x <- as.vector(x)
n <- length(x)
c(rep(NA,d),x)[1:n]
}

HTH,
Bernhard

--
O__  ---- Peter Dalgaard             Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics     2200 Cph. N
(*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

----------------------------------------------------------------------
If you have received this e-mail in error or wish to read our e-mail
disclaimer statement and monitoring policy, please refer to
http://www.drkw.com/disc/email/ or contact the sender.

```