update.layer: Update post-processing 'layer'

View source: R/layers.R

update.layerR Documentation

Update post-processing layer

Description

This layer method for update() takes named arguments as ... whose values will replace the elements of the same name in the actual post-processing layer. Analogous to update.step() from the recipes package.

Usage

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

Arguments

object

A post-processing layer.

...

Key-value pairs where the keys match up with names of elements in the layer, and the values are the new values to update the layer with.

Examples

jhu <- covid_case_death_rates %>%
  filter(time_value > "2021-11-01", geo_value %in% c("ak", "ca", "ny"))
r <- epi_recipe(jhu) %>%
  step_epi_lag(death_rate, lag = c(0, 7, 14)) %>%
  step_epi_ahead(death_rate, ahead = 7) %>%
  step_epi_naomit()
wf <- epi_workflow(r, linear_reg()) %>% fit(jhu)
latest <- jhu %>% filter(time_value >= max(time_value) - 14)

# Specify a `forecast_date` that is greater than or equal to `as_of` date
f <- frosting() %>%
  layer_predict() %>%
  layer_add_forecast_date(forecast_date = "2022-05-31") %>%
  layer_naomit(.pred)

wf1 <- wf %>% add_frosting(f)

p1 <- predict(wf1, latest)
p1

# Update forecast date
f$layers[[2]] <- update(f$layers[[2]], forecast_date = "2021-06-01")

# Need to still update workflow if only update a layer in frosting
wf2 <- wf %>% add_frosting(f)
wf2$post # Check that wf1 has update
p1 <- predict(wf2, latest)
p1

cmu-delphi/epipredict documentation built on March 5, 2025, 12:17 p.m.