step_lead: Create a Lead Predictor

View source: R/step_lead.R

step_leadR Documentation

Create a Lead Predictor

Description

step_lead() creates a specification of a recipe step that will create one or more new columns of data that are leading (i.e. future) values of existing columns. This is the target-side companion to ⁠[recipes::step_lag()]⁠ (which only supports positive lag/past values, not lead/future values) and is intended for building multi-step-ahead forecasting targets, e.g. step_lead(y, lead = 1:6) produces the next six values of y as separate columns, one per row.

Usage

step_lead(
  recipe,
  ...,
  lead = 1,
  prefix = "lead_",
  default = NA,
  role = "outcome",
  trained = FALSE,
  columns = NULL,
  keep_original_cols = TRUE,
  skip = FALSE,
  id = recipes::rand_id("lead")
)

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 leading. See ⁠[selections()]⁠ for more details. For the tidy method, these are not currently used.

lead

A vector of nonnegative integers. Each value produces a leading column for each selected variable.

prefix

A prefix added to the leading columns names. The default naming convention is ⁠<prefix><lead value>_<original variable name>⁠, e.g. lead_1_value.

default

Value to fill in the trailing rows that don't have a complete future window (analogous to default in ⁠[recipes::step_lag()]⁠). Defaults to NA.

role

For model terms created by this step, what analysis role should they be assigned?. By default, the new columns are used as outcomes.

trained

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

columns

A character string of the selected variable names. This is NULL until the step is trained by ⁠[prep.recipe()]⁠.

keep_original_cols

A logical to keep the original variables in the output. Defaults to TRUE.

skip

A logical. Should the step be skipped when the recipe is baked by ⁠[bake.recipe()]⁠? While all operations are baked when prep is run, skipping when bake is run may be other times when it is desirable to skip a processing step.

id

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

Details

Combine with ⁠[recipes::step_naomit()]⁠ (e.g. step_naomit(starts_with(prefix))) to drop the trailing rows that don't have a full future window, mirroring how ⁠[step_sequence()]⁠'s padding = "drop" removes rows lacking a full past window.

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 (the selected column names), value (the name of the resulting leading column), and id (the step identifier).

Examples

library(recipes)

dat <- data.frame(y = 1:10)

rec <- recipe(y ~ ., data = dat) %>%
  step_lead(y, lead = 1:2) %>%
  prep()

bake(rec, new_data = NULL)

kerasnip documentation built on Sept. 4, 2026, 1:06 a.m.