`step_distributed_lag` creates a *specification* of a recipe step that are distributed lag versions of a particular variable. Uses FFT for fast calculation with a large maximum lag and many observations

step_distributed_lag(recipe, ..., role = "distributed_lag",
  trained = FALSE, knots = 1, spline_fun = splines::ns,
  prefix = "distributed_lag_", default = NA, columns = NULL,
  skip = FALSE, id = rand_id("distributed_lag"))

Arguments

recipe

A recipe object. The step will be added to the sequence of operations for this recipe.

...

One or more selector functions to choose which variables are affected by the step. See [selections()] for more details. For the `tidy` method, these are not currently used.

role

Defaults to "distributed_lag"

trained

A logical to indicate if the quantities for preprocessing have been estimated.

knots

specific knots for the lagging process

spline_fun

spline function to use i.e. splines::ns, splines::bs

prefix

A prefix for generated column names, default to "distributed_lag_".

default

Passed to dplyr::lag, determines what fills empty rows left by lagging (defaults to NA).

columns

A character string of variable names that will be populated (eventually) by the terms argument.

skip

A logical. Should the step be skipped when the recipe is baked by bake.recipe()? While all operations are baked when prep.recipe() is run, some operations may not be able to be conducted on new data (e.g. processing the outcome variable(s)). Care should be taken when using skip = TRUE as it may affect the computations for subsequent operations

id

A character string that is unique to this step to identify it.

Value

An updated version of `recipe` with the new step added to the sequence of existing steps (if any). For the `tidy` method, a tibble with columns `terms` which is the columns that will be affected and `holiday`.

Details

`step_distributed_lag` calculates the earthtide response and then lags (leads) the terms.

See also

[step_lag_matrix()] [recipe()] [prep.recipe()] [bake.recipe()]

Examples

data(transducer) rec <- recipe(wl ~ ., data = transducer[1:1000, list(datetime, wl, baro)]) with_et <- rec %>% step_distributed_lag(baro, knots = c(1, 10, 100)) %>% step_naomit(everything()) %>% prep() %>% juice()