I'm trying to use dplyr::mutate()
in combination with purrr::map()
to create a "recipe" object with recipes::recipe()
.
If I do it out of tibble context this works fine:
library(rsample)
library(recipe)
iris_split <- initial_split(iris, prop = 0.6)
data_set_training <- training(iris_split)
recipe_standalone <- recipe(x = data_set_training, Species ~ .) # works
By contrast:
library(tibble)
library(dplyr)
library(purrr)
library(tidyr)
tibble(subset_training = data_set_training) %>%
nest(subset_training = subset_training) %>%
mutate(iris_recipe = map(.x = subset_training, .f = ~recipe(x = .x, Species ~ .))) # doesn't work
Error: Problem with
mutate()
columniris_recipe
.
iiris_recipe = map(.x = subset_training, .f = ~recipe(x = .x, Species ~ .))
.
x object 'Species' not found
How can I use map()
to create a new list-column that contains the "recipe" object?
Desired output
To demonstrate, I want to get this exactly:
desired_output <-
tibble(subset_training = list(data_set_training),
iris_recipe = list(recipe_standalone))
## # A tibble: 1 x 2
## subset_training iris_recipe
## <list> <list>
## 1 <df [90 x 5]> <recipe>