Nothing
test_that("splitwise function works correctly with default parameters", {
# Example dataset
data <- mtcars
formula <- mpg ~ .
# Run the splitwise function
model <- splitwise(formula, data)
# Check that the model is of the correct class
expect_s3_class(model, "splitwise_lm")
# Check that the model has coefficients
expect_true(length(coef(model)) > 0)
})
test_that("splitwise function handles different transformation modes", {
data <- mtcars
formula <- mpg ~ .
# Test univariate transformation mode
model_uni <- splitwise(formula, data, transformation_mode = "univariate", trace = 0)
expect_s3_class(model_uni, "splitwise_lm")
# Test iterative transformation mode
model_iter <- splitwise(formula, data, transformation_mode = "iterative", trace = 0)
expect_s3_class(model_iter, "splitwise_lm")
})
test_that("splitwise function respects stepwise direction parameter", {
data <- mtcars
formula <- mpg ~ .
# Test forward selection
model_forward <- splitwise(formula, data, direction = "forward", trace = 0)
expect_s3_class(model_forward, "splitwise_lm")
# Test backward elimination
model_backward <- splitwise(formula, data, direction = "backward", trace = 0)
expect_s3_class(model_backward, "splitwise_lm")
# Test both directions
model_both <- splitwise(formula, data, direction = "both", trace = 0)
expect_s3_class(model_both, "splitwise_lm")
})
test_that("splitwise function handles BIC mode", {
data <- mtcars
formula <- mpg ~ .
# BIC typically uses k = log(n), but let's do the default step(k=2) for simplicity
# or just to confirm it doesn't error out.
model_bic <- splitwise(
formula = formula,
data = data,
criterion = "BIC",
trace = 0
)
expect_s3_class(model_bic, "splitwise_lm")
# Check decisions are stored
expect_true("decisions" %in% names(model_bic$splitwise_info))
# Optionally, check if BIC was used by verifying the final model's summary
# or the code. But for now, just confirm no errors.
})
test_that("splitwise function respects exclude_vars parameter", {
data <- mtcars
formula <- mpg ~ .
# Exclude some numeric columns from dummy transformations
# e.g., "wt" and "hp"
excluded <- c("wt", "hp")
model_excl <- splitwise(
formula = formula,
data = data,
exclude_vars = excluded,
trace = 0
)
expect_s3_class(model_excl, "splitwise_lm")
# Check that the excluded variables are always 'linear' in the decisions
dec <- model_excl$splitwise_info$decisions
# "wt" and "hp" should be linear if they exist in the decisions list
if ("wt" %in% names(dec)) {
expect_equal(dec[["wt"]]$type, "linear")
}
if ("hp" %in% names(dec)) {
expect_equal(dec[["hp"]]$type, "linear")
}
})
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.