rwatkins@cornerstonelp.com
2003-May-29 19:56 UTC
[R] Newbie trying to Lag Variables in a regression
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! Thanks to all in advance for your patience and consideration.
Peter Dalgaard BSA
2003-May-29 21:40 UTC
[R] Newbie trying to Lag Variables in a regression
<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)) -- 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
<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.