Displaying 1 result from an estimated 1 matches for "my_lag".
2007 Dec 13
1
creating lagged variables
...#
>d
id time value
1 1 1 -0.56047565
2 1 2 -0.23017749
3 1 3 1.55870831
4 2 1 0.07050839
5 2 2 0.12928774
6 2 3 1.71506499
I want to compute the lagged variable 'value(t-1)', taking subject id
into account.
My current effort produced the following:
##
my_lag <- function(dt, varname, timevarname='time', lag=1) {
vname <- paste(varname, if(lag>0) '.' else '', lag, sep='')
timevar <- dt[[timevarname]]
dt[[vname]] <- dt[[varname]][match(timevar, timevar + lag)]
dt
}
lag_by <- function(dt, idvarname='...