A function that correctly lags panel data where units are identified by
id
and time periods are identified with t
. Results are in same
order as data
and are padded with NA
as needed.
Arguments
- x
String identifying the vectors to be lagged in
data
.- id
String identifying the unit (e.g. country) identifier in
data
.- t
String identifying the time identifier in
data
.- lag
Lag order, i.e. by how many time periods should
x
be lagged? Unlike the defaultlag
, positive values indicate that past data is used for the current time period.- data
A data frame. If not provided, a new one will be constructed with the vectors supplied for the other parameters.
Examples
data(coups)
# No need to order before using panelLag, just do it here so we can compare results below.
coups <- coups[order(coups$gwcode, coups$year), ]
test <- panel_lag("polity2", "gwcode", "year", data=coups)
# Compare output
head(coups$polity2)
#> [1] 10 10 10 10 10 10
head(test)
#> [1] NA 10 10 10 10 10