Nothing
test_that("all possible regression output matches the expected result", {
model <- lm(y ~ x1 + x2 + x3 + x4, data = cement)
k <- ols_step_all_possible(model)
pred_exp <- c(
"x4", "x2", "x1", "x3", "x1 x2",
"x1 x4", "x3 x4", "x2 x3", "x2 x4", "x1 x3",
"x1 x2 x4", "x1 x2 x3", "x1 x3 x4", "x2 x3 x4",
"x1 x2 x3 x4"
)
expect_equal(k$result$mindex, c(1:15))
expect_equal(k$result$predictors, pred_exp, ignore_attr = TRUE)
k2 <- ols_step_all_possible(model, max_order = 3)
preds_selected <- c(
"x4", "x2", "x1", "x3", "x1 x2",
"x1 x4", "x3 x4", "x2 x3", "x2 x4", "x1 x3",
"x1 x2 x4", "x1 x2 x3", "x1 x3 x4", "x2 x3 x4"
)
expect_equal(k2$result$mindex, c(1:14))
expect_equal(k2$result$predictors, preds_selected, ignore_attr = TRUE)
})
test_that("all possible regression throws error messages", {
model <- lm(y ~ x1 + x2 + x3 + x4, data = cement)
error_msg <- "Maximum subset order should be less than or equal to the number of predictors in the specified model."
expect_error(ols_step_all_possible(model, max_order = 5), error_msg)
})
test_that("output from all subsets regression is as expected", {
model <- lm(mpg ~ disp + hp, data = mtcars)
expect_snapshot(ols_step_all_possible(model))
})
test_that("all possible regression betas are as expected", {
model <- lm(mpg ~ disp + hp + wt, data = mtcars)
k <- ols_step_all_possible_betas(model)
out <- lapply(split(k$beta, k$predictor), mean)
actual <- data.frame(predictor = names(out), beta = as.numeric(out))
predictor <- c("(Intercept)", "disp", "hp", "wt")
beta <- c(33.85901073, -0.02255579, -0.03899945, -4.09350456)
expected <- data.frame(predictor, beta)
expect_equal(actual$predictor, expected$predictor, ignore_attr = TRUE)
expect_equal(actual$beta, expected$beta, ignore_attr = TRUE)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.