Subselection from a fixest_panel which has been created with the function panel. Also allows to create lag/lead variables with functions l/f if the fixest_panel is also a data.table::data.table.
## S3 method for class 'fixest_panel'x[i, j,...]
Arguments
x: A fixest_panel object, created with the function panel.
i: Row subselection. Allows data.table::data.table style selection (provided the data is also a data.table).
j: Variable selection. Allows data.table::data.table style selection/variable creation (provided the data is also a data.table).
...: Other arguments to be passed to [.data.frame or data.table::data.table
(or whatever the class of the initial data).
Returns
It returns a fixest_panel data base, with the attributes allowing to create lags/leads properly bookkeeped.
Details
If the original data was also a data.table, some calls to [.fixest_panel may dissolve the fixest_panel object and return a regular data.table. This is the case for subselections with additional arguments. If so, a note is displayed on the console.
Examples
data(base_did)# Creating a fixest_panel objectpdat = panel(base_did,~id+period)# Subselections of fixest_panel objects bookkeeps the leads/lags enginepdat_small = pdat[!pdat$period %in% c(2,4),]a = feols(y~l(x1,0:1), pdat_small)# we obtain the same results, had we created the lags "on the fly"base_small = base_did[!base_did$period %in% c(2,4),]b = feols(y~l(x1,0:1), base_small, panel.id =~id+period)etable(a, b)# Using data.table to create new lead/lag variablesif(require("data.table")){ pdat_dt = panel(as.data.table(base_did),~id+period)# Variable creation pdat_dt[, x_l1 := l(x1)] pdat_dt[, c("x_l1","x_f1_2"):= .(l(x1), f(x1)**2)]# Estimation on a subset of the data# (the lead/lags work appropriately) feols(y~l(x1,0:1), pdat_dt[!period %in% c(2,4)])}
See Also
Alternatively, the function panel changes a data.frame into a panel from which the functions l and f (creating leads and lags) can be called. Otherwise you can set the panel 'live' during the estimation using the argument panel.id (see for example in the function feols).