model <- lm(mpg ~ ., data = mtcars)
select_covariates(model)
## measure_fn with two parameters
lrt <- function(model1, model2) {
lrt_stat <- 2 * (logLik(model1)[1L] - logLik(model2)[1L])
return(1 - pchisq(lrt_stat, 1))
}
select_covariates(model, measure_fn = lrt)
## AICc selection
AICc <- function(model) {
loglike <- logLik(model)
df <- attr(loglike, "df")
nobs <- attr(loglike, "nobs")
aic <- -2 * as.numeric(loglike) + 2 * df
aicc <- aic + (2 * (df^2) + 2 * df) / (nobs - df - 1)
return(aicc)
}
selection <- select_covariates(model,
measure_fn = AICc,
threshold = AICc,
measure_one_at_time = TRUE,
minimize_only = TRUE,
direction = "both",
data = mtcars
)
Run the code above in your browser using DataLab