step_diff {timetk} | R Documentation |
Create a differenced predictor
Description
step_diff
creates a specification of a recipe step that
will add new columns of differenced data. Differenced data will
include NA values where a difference was induced.
These can be removed with step_naomit()
.
Usage
step_diff(
recipe,
...,
role = "predictor",
trained = FALSE,
lag = 1,
difference = 1,
log = FALSE,
prefix = "diff_",
columns = NULL,
skip = FALSE,
id = rand_id("diff")
)
## S3 method for class 'step_diff'
tidy(x, ...)
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 |
role |
Defaults to "predictor" |
trained |
A logical to indicate if the quantities for preprocessing have been estimated. |
lag |
A vector of positive integers identifying which lags (how far back) to be included in the differencing calculation. |
difference |
The number of differences to perform. |
log |
Calculates log differences instead of differences. |
prefix |
A prefix for generated column names, default to "diff_". |
columns |
A character string of variable names that will
be populated (eventually) by the |
skip |
A logical. Should the step be skipped when the
recipe is baked by |
id |
A character string that is unique to this step to identify it. |
x |
A |
Details
The step assumes that the data are already in the proper sequential order for lagging.
Value
An updated version of recipe
with the
new step added to the sequence of existing steps (if any).
See Also
Time Series Analysis:
Engineered Features:
step_timeseries_signature()
,step_holiday_signature()
,step_fourier()
Diffs & Lags
step_diff()
,recipes::step_lag()
Smoothing:
step_slidify()
,step_smooth()
Variance Reduction:
step_box_cox()
Imputation:
step_ts_impute()
,step_ts_clean()
Padding:
step_ts_pad()
Remove NA Values:
Main Recipe Functions:
-
recipes::recipe()
-
recipes::prep()
-
recipes::bake()
Examples
library(recipes)
FANG_wide <- FANG %>%
dplyr::select(symbol, date, adjusted) %>%
tidyr::pivot_wider(names_from = symbol, values_from = adjusted)
# Make and apply recipe ----
recipe_diff <- recipe(~ ., data = FANG_wide) %>%
step_diff(FB, AMZN, NFLX, GOOG, lag = 1:3, difference = 1) %>%
prep()
recipe_diff %>% bake(FANG_wide)
# Get information with tidy ----
recipe_diff %>% tidy()
recipe_diff %>% tidy(1)