step_holiday {recipes} | R Documentation

## Holiday Feature Generator

### Description

`step_holiday` creates a a specification of a recipe step that will convert date data into one or more binary indicator variables for common holidays.

### Usage

    step_holiday(recipe, ..., role = "predictor", trained = FALSE,
      holidays = c("LaborDay", "NewYearsDay", "ChristmasDay"),
      columns = NULL, skip = FALSE, id = rand_id("holiday"))

    ## S3 method for class 'step_holiday'
    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 will be used to create the new variables. The selected variables should have class `Date` or `POSIXct`. See `selections()` for more details. For the `tidy` method, these are not currently used.
`role` | For model terms created by this step, what analysis role should they be assigned?. By default, the function assumes that the new variable columns created by the original variables will be used as predictors in a model.
`trained` | A logical to indicate if the quantities for preprocessing have been estimated.
`holidays` | A character string that includes at least one holiday supported by the `timeDate` package. See `timeDate::listHolidays()` for a complete list.
`columns` | A character string of variables that will be used as inputs. This field is a placeholder and will be populated once `prep.recipe()` is used.
`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.
`x` | A `step_holiday` object.

### Details

Unlike other steps, `step_holiday` does not remove the original date variables. `step_rm()` can be used for this purpose.

### 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`.

### See Also

`step_date()` `step_rm()` `recipe()` `prep.recipe()` `bake.recipe()` `timeDate::listHolidays()`

### Examples

    library(lubridate)

    examples <- data.frame(someday = ymd("2000-12-20") + days(0:40))
    holiday_rec <- recipe(~ someday, examples) %>%
       step_holiday(all_predictors())

    holiday_rec <- prep(holiday_rec, training = examples)
    holiday_values <- bake(holiday_rec, new_data = examples)
    holiday_values

[Package recipes version 0.1.5 Index]