| dynformula {plm} | R Documentation | 
A function to easily create a formula with lags and differences
dynformula(formula, lag.form = NULL, diff.form = NULL, log.form = NULL)
formula | 
 a formula,  | 
lag.form | 
 a list containing the lag structure of each variable in the formula,  | 
diff.form | 
 a vector (or a list) of logical values indicating whether variables should be differenced,  | 
log.form | 
 a vector (or a list) of logical values indicating whether variables should be in logarithms.  | 
lag.form is a list, diff.form and log.form are vectors (or lists) that should be of length equal to the total number of variables. Each element of these lists/vectors is:
 either a vector of length 2 (c(1,4) means lags 1,2,3 and 4) or a scalar (3 means lags 0,1,2,3 except for the left–hand side variable for which it is 1,2,3) for lag.form.
 logical values for diff.form and log.form.
It can also be an incomplete named list/vector (for example, to apply the transformation for only some variables) with eventually an unnamed element which then is the default value.
An object of class c("dynformula","formula"), which is a
formula with four additional attributes: var, the names of the variables in the formula, lag, diff, and log, which store the information about lags, differences and logs, respectively.
A formula method coerces the dynformula object to a standard formula.
Yves Croissant
# all variables in log, x1, x2 and x3 laged twice, y laged once and x3 differenced
z <- dynformula(y ~ x1 + x2 + x3, lag.form = list(2, y = 1),
                diff.form = c(x3 = TRUE), log.form = TRUE)
formula(z)