creating lagged variable in panel data
Sorry, this is what I used :
f <- function(x) {
wage <- ts(x$wage, start = x$year[1])
idx <- seq(length = length(wage))
wages <- cbind(wage, wage.lag1 = lag(wage, -1))[idx,]
cbind(x, wages)
}
result <- do.call("rbind", by(A, A$person, f))
result
Alok
On 8/29/2012 7:43 PM, R. Michael Weylandt wrote:
On Wed, Aug 29, 2012 at 8:20 PM, Alok Bohara, PhD <bohara at unm.edu> wrote:
Thanks for the input. I wanted to avoid counting the column number. In any case, in the script -- wage.lag1 = lag(wage, -1) seems to do the trick.
The important thing is that "4" in my example below can be any computable expression: e.g., if you want the last column colnames(dats)[NCOL(dats)] <- ... Alternatively, you can change the name at construction, but I couldn't give you a hint there since you didn't tell us how you went about adding the column. Note something like this though: dts <- data.frame(x = 1:5, y = letters[5:1]) dts2 <- cbind(dts, z = rnorm(5)) print(dts2) Cheers, Michael
Alok On 8/29/2012 12:29 PM, R. Michael Weylandt <michael.weylandt at gmail.com> wrote:
Of course: colnames(dats)[4] <- "new name" M On Aug 29, 2012, at 9:34 AM, "Alok K Bohara, PhD" <bohara at unm.edu> wrote:
Hi
I found an example in R to create a lagged panel data set which works
fine. The only problem is that it adds the lagged variable as follows
wage2.dat
year person wage lag(wage, -1)
1.1 1980 1 -0.75843997 NA
1.2 1981 1 0.27233048 -0.75843997
1.3 1982 1 -1.58335767 0.27233048
1.4 1983 1 0.36805926 -1.58335767
1.5 1984 1 -0.52312153 0.36805926
2.6 1980 2 -0.53559110 NA
2.7 1981 2 -0.94935350 -0.53559110
2.8 1982 2 0.10486688 -0.94935350
2.9 1983 2 -0.50266443 0.10486688
2.10 1984 2 0.14644024 -0.50266443
.
.
Is there anyway I could rename the last column wag.lag1? Thanks.
Best,
Alok
______________________________________________ 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.
-- Alok K. Bohara, Ph.D. Professor Department of Economics MSC 05 3060 1 University of New Mexico Albuquerque, NM 87131-0001, USA Ph: 505-277-5903/5304(w) Fax:505-277-9445 email: bohara at unm.edu http://www.unm.edu/~econ/faculty/professors.html Nepal Study Center: http://nepalstudycenter.unm.edu
Alok K. Bohara, Ph.D. Professor Department of Economics MSC 05 3060 1 University of New Mexico Albuquerque, NM 87131-0001, USA Ph: 505-277-5903/5304(w) Fax:505-277-9445 email: bohara at unm.edu http://www.unm.edu/~econ/faculty/professors.html Nepal Study Center: http://nepalstudycenter.unm.edu