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)