Logarithmic Transformation
step_log
creates a specification of a recipe step
that will log transform data.
step_log( recipe, ..., role = NA, trained = FALSE, base = exp(1), offset = 0, columns = NULL, skip = FALSE, signed = FALSE, id = rand_id("log") ) ## S3 method for class 'step_log' 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 are affected by the step. See |
role |
Not used by this step since no new variables are created. |
trained |
A logical to indicate if the quantities for preprocessing have been estimated. |
base |
A numeric value for the base. |
offset |
An optional value to add to the data prior to
logging (to avoid |
columns |
A character string of variable names that will
be populated (eventually) by the |
skip |
A logical. Should the step be skipped when the
recipe is baked by |
signed |
A logical indicating whether to take the signed log.
This is sign(x) * abs(x) when abs(x) => 1 or 0 if abs(x) < 1.
If |
id |
A character string that is unique to this step to identify it. |
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
columns that will be affected) and base
.
set.seed(313) examples <- matrix(exp(rnorm(40)), ncol = 2) examples <- as.data.frame(examples) rec <- recipe(~ V1 + V2, data = examples) log_trans <- rec %>% step_log(all_numeric_predictors()) log_obj <- prep(log_trans, training = examples) transformed_te <- bake(log_obj, examples) plot(examples$V1, transformed_te$V1) tidy(log_trans, number = 1) tidy(log_obj, number = 1) # using the signed argument with negative values examples2 <- matrix(rnorm(40, sd = 5), ncol = 2) examples2 <- as.data.frame(examples2) recipe(~ V1 + V2, data = examples2) %>% step_log(all_numeric_predictors()) %>% prep(training = examples2) %>% bake(examples2) recipe(~ V1 + V2, data = examples2) %>% step_log(all_numeric_predictors(), signed = TRUE) %>% prep(training = examples2) %>% bake(examples2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.