
Generate pulse effect formulae for a given autoregressive distributed lag (ADL) model
Source:R/tseffects.R
pulse.calculator.RdGenerate pulse effect formulae for a given autoregressive distributed lag (ADL) model
Details
pulse.calculator does no calculation. It generates a list of mpoly formulae that contain variable names that represent the pulse effect in each period. The expectation is that these will be evaluated using coefficients from an object containing an ADL model with corresponding variables. Note: mpoly does not allow variable names with a .; variables passed to pulse.calculator should not include this character
Examples
# ADL(1,1)
x.lags <- c("x" = 0, "l_1_x" = 1) # lags of x
y.lags <- c("l_1_y" = 1)
s <- 5
pulses <- pulse.calculator(x.vrbl = x.lags, y.vrbl = y.lags, limit = s)
pulses
#> [[1]]
#> x
#>
#> [[2]]
#> l_1_x + l_1_y x
#>
#> [[3]]
#> l_1_y l_1_x + l_1_y^2 x
#>
#> [[4]]
#> l_1_y^2 l_1_x + l_1_y^3 x
#>
#> [[5]]
#> l_1_y^3 l_1_x + l_1_y^4 x
#>
#> [[6]]
#> l_1_y^4 l_1_x + l_1_y^5 x
#>
# Will also handle finite dynamics
x.lags <- c("x" = 0, "l_1_x" = 1) # lags of x
finite.pulses <- pulse.calculator(x.vrbl = x.lags, limit = s)