1## ----ex_setup, include=FALSE-------------------------------------------------- 2knitr::opts_chunk$set( 3 message = FALSE, 4 digits = 3, 5 collapse = TRUE, 6 comment = "#>" 7 ) 8options(digits = 3) 9library(recipes) 10 11## ----formula-roles------------------------------------------------------------ 12library(recipes) 13 14recipe(Species ~ ., data = iris) %>% summary() 15 16recipe( ~ Species, data = iris) %>% summary() 17 18recipe(Sepal.Length + Sepal.Width ~ ., data = iris) %>% summary() 19 20## ----formula-update----------------------------------------------------------- 21library(modeldata) 22data(biomass) 23 24recipe(HHV ~ ., data = biomass) %>% 25 update_role(dataset, new_role = "dataset split variable") %>% 26 update_role(sample, new_role = "sample ID") %>% 27 summary() 28 29## ----formula-rm--------------------------------------------------------------- 30recipe(HHV ~ ., data = biomass) %>% 31 remove_role(sample, old_role = "predictor") %>% 32 summary() 33 34## ----formula-rm-fail, error=TRUE---------------------------------------------- 35recipe(HHV ~ ., data = biomass) %>% 36 update_role(sample, new_role = NA_character_) 37 38## ----formula-add-------------------------------------------------------------- 39multi_role <- recipe(HHV ~ ., data = biomass) %>% 40 update_role(dataset, new_role = "dataset split variable") %>% 41 update_role(sample, new_role = "sample ID") %>% 42 # Roles below from https://wordcounter.net/random-word-generator 43 add_role(sample, new_role = "jellyfish") 44 45multi_role %>% 46 summary() 47 48## ----------------------------------------------------------------------------- 49multi_role %>% 50 update_role(sample, new_role = "flounder", old_role = "jellyfish") %>% 51 summary() 52 53## ----------------------------------------------------------------------------- 54multi_role %>% 55 add_role(HHV, new_role = "nocenter") %>% 56 step_center(all_predictors(), -has_role("nocenter")) %>% 57 prep(training = biomass, retain = TRUE) %>% 58 bake(new_data = NULL) %>% 59 head() 60 61## ----x-none------------------------------------------------------------------- 62recipe(biomass) %>% 63 summary() 64 65## ----x-none-updated----------------------------------------------------------- 66recipe(biomass) %>% 67 update_role(contains("gen"), new_role = "lunchroom") %>% 68 update_role(sample, HHV, new_role = "snail") %>% 69 summary() 70 71## ----dummy-------------------------------------------------------------------- 72recipe( ~ ., data = iris) %>% 73 step_dummy(Species) %>% 74 prep() %>% 75 bake(new_data = NULL, all_predictors()) %>% 76 dplyr::select(starts_with("Species")) %>% 77 names() 78 79# or something else 80recipe( ~ ., data = iris) %>% 81 step_dummy(Species, role = "trousers") %>% 82 prep() %>% 83 bake(new_data = NULL, has_role("trousers")) %>% 84 names() 85 86