Learn R Programming

panelWranglR (version 1.2.13)

panel_lag: Tidy panel lagging

Description

Efficient, tidy panel lagging

Usage

panel_lag(data, cross.section, time.variable = NULL, lags = 1,
  variables.selected = NULL, keep.original = TRUE)

Arguments

data

The data input, anything coercible to a data.table.

cross.section

The cross section argument, see examples.

time.variable

The variable to indicate time in your panel. Defaults to NULL, though it is recommended to have a time variable.

lags

The lags to use in panel lagging.

variables.selected

A variable selection for variables to lag, defaults to NULL and lags ALL variables.

keep.original

Whether to keep the original unlagged data, defaults to TRUE.

Value

The lagged data.table which contains either only the lagged variables, or also the original variables.

Details

Works on a full data.table backend for maximum speed wherever possible.

Examples

Run this code
# NOT RUN {

X <- matrix(rnorm(4000),800,5)
tim <- seq(1:400)
geo_AT <- rep(c("AT"), length = 400)
geo_NO <- rep(c("NO"), length = 400)
both_vec_1 <- cbind(tim,geo_NO)
both_vec_2 <- cbind(tim,geo_AT)
both <- rbind(both_vec_1,both_vec_2)
names(both[,"geo_NO"]) <- "geo"
X <- cbind(both,X)

panel_lag(data = X,
          cross.section = "geo_NO",
          time.variable = "tim",
          lags = 5,
          variables.selected = c("V5","tim", "V7"),
          keep.original = TRUE)



# }

Run the code above in your browser using DataLab