| step_num2factor {recipes} | R Documentation |
step_num2factor will convert one or more numeric
vectors to factors (ordered or unordered). This can be useful
when categories are encoded as integers.
step_num2factor(recipe, ..., role = NA, transform = function(x) x, trained = FALSE, levels = NULL, ordered = FALSE, skip = FALSE) ## S3 method for class 'step_num2factor' tidy(x, ...)
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 converted to factors. See
|
role |
Not used by this step since no new variables are created. |
transform |
A function taking a single argument |
trained |
A logical to indicate if the quantities for preprocessing have been estimated. |
levels |
A list of values that will be used as the levels.
These are the numeric data converted to character and ordered.
This is |
ordered |
A single logical value; should the factor(s) be ordered? |
skip |
A logical. Should the step be skipped when the
recipe is baked by |
x |
A |
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 (the
selectors or variables selected) and ordered.
If bake is used on a data set where a new value is
in the column being converted, bake will silently give values
of NA to these rows (see the example below).
step_factor2string(), step_string2factor(),
step_dummy()
iris2 <- iris
iris2$Species <- as.numeric(iris2$Species)
rec <- recipe(~ ., data = iris2)
make_factor <- rec %>% step_num2factor(Species)
make_factor <- prep(make_factor,
training = iris2,
retain = TRUE)
# note that `diet` is a factor
juice(make_factor) %>% head
okc %>% head
tidy(make_factor, number = 1)
# When novel values are exposed
with_transform <- rec %>%
step_num2factor(Species, transform = function(x) paste0("val_", x))
with_transform <- prep(with_transform,
training = iris2[1:75,])
new_values <- bake(with_transform, newdata = iris2, Species)
table(new_values[["Species"]], iris2$Species, useNA = "ifany")