lm objects are created from the base stats package.

# S3 method for lm
axe_call(x, verbose = FALSE, ...)

# S3 method for lm
axe_env(x, verbose = FALSE, ...)

# S3 method for lm
axe_fitted(x, verbose = FALSE, ...)

Arguments

x

A model object.

verbose

Print information each time an axe method is executed. Notes how much memory is released and what functions are disabled. Default is FALSE.

...

Any additional arguments related to axing.

Value

Axed lm object.

Examples

# Load libraries suppressWarnings(suppressMessages(library(parsnip))) suppressWarnings(suppressMessages(library(rsample))) # Load data split <- initial_split(mtcars, props = 9/10) car_train <- training(split) # Create model and fit lm_fit <- linear_reg() %>% set_engine("lm") %>% fit(mpg ~ ., data = car_train) out <- butcher(lm_fit, verbose = TRUE)
#> Memory released: '11,096 B'
# Another lm object wrapped_lm <- function() { some_junk_in_environment <- runif(1e6) fit <- lm(mpg ~ ., data = mtcars) return(fit) } # Remove junk cleaned_lm <- axe_env(wrapped_lm(), verbose = TRUE)
#> Memory released: '8,076,216 B'
# Check size lobstr::obj_size(cleaned_lm)
#> 23,184 B
# Compare environment in terms component lobstr::obj_size(attr(wrapped_lm()$terms, ".Environment"))
#> 8,022,552 B
lobstr::obj_size(attr(cleaned_lm$terms, ".Environment"))
#> 0 B