Please see https://win-vector.com/2014/05/30/trimming-the-fat-from-glm-models-in-r/ for discussion.
clean_fit_lm(
outcome,
variables,
data,
...,
intercept = TRUE,
weights = NULL,
env = baseenv()
)
character, name of outcome column.
character, names of varaible columns.
data.frame, training data.
not used, force later arguments to be used by name
logical, if TRUE allow an intercept term.
passed to stats::glm()
environment to work in.
list(model=model, summary=summary)
mk_data_example <- function(k) {
data.frame(
x1 = rep(c("a", "a", "b", "b"), k),
x2 = rep(c(0, 0, 0, 1), k),
y = rep(1:4, k),
yC = rep(c(FALSE, TRUE, TRUE, TRUE), k),
stringsAsFactors = FALSE)
}
res_lm <- clean_fit_lm("y", c("x1", "x2"),
mk_data_example(1))
length(serialize(res_lm$model, NULL))
#> [1] 1506
res_lm <- clean_fit_lm("y", c("x1", "x2"),
mk_data_example(10000))
length(serialize(res_lm$model, NULL))
#> [1] 1506
predict(res_lm$model,
newdata = mk_data_example(1))
#> 1 2 3 4
#> 1.5 1.5 3.0 4.0