update.step {recipes} | R Documentation

## Update a recipe step

### Description

This `step` method for `update()` takes named arguments as `...` who's values will replace the elements of the same name in the actual step.

### Usage

    ## S3 method for class 'step'
    update(object, ...)

### Arguments

`object` | A recipe `step`.
`...` | Key-value pairs where the keys match up with names of elements in the step, and the values are the new values to update the step with.

### Details

For a step to be updated, it must not already have been trained. Otherwise, conflicting information can arise between the data returned from `juice()` and the information in the step.

This function is mainly useful for finalizing varying parameters, but it can also be used on non-varying parameters as well (as seen in the example below).

### Examples

    data(biomass)

    biomass_tr <- biomass[biomass$dataset == "Training",]
    biomass_te <- biomass[biomass$dataset == "Testing",]

    # Create a recipe using step_bs() with degree = 3
    rec <- recipe(
      HHV ~ carbon + hydrogen + oxygen + nitrogen + sulfur,
      data = biomass_tr
    ) %>%
      step_bs(carbon, hydrogen, degree = 3)

    # Update the step to use degree = 4
    rec2 <- rec
    rec2$steps[[1]] <- update(rec2$steps[[1]], degree = 4)

    # Prep both recipes
    rec_prepped  <- prep(rec, training = biomass_tr)
    rec2_prepped <- prep(rec2, training = biomass_tr)

    # Juice both to see what changed
    juice(rec_prepped)
    juice(rec2_prepped)

    # Cannot update a recipe step that has been trained!
    ## Not run:
    update(rec_prepped$steps[[1]], degree = 4)

    ## End(Not run)

[Package recipes version 0.1.5 Index]