Nothing
testthat::test_that("`collinear()` works", {
data(vi, vi_predictors)
predictors <- vi_predictors[1:20]
df <- vi[1:1000, ]
# several responses ----
responses <- c(
"vi_numeric",
"vi_counts",
"vi_binomial",
"vi_categorical",
"vi_factor"
)
#external preference order
preference_list <- preference_order(
df = df,
response = responses,
predictors = predictors,
f = NULL,
warn_limit = NULL,
quiet = TRUE
)
x <- collinear(
df = df,
response = responses,
predictors = predictors,
preference_order = preference_list,
quiet = TRUE
)
testthat::expect_true(
is.list(x)
)
testthat::expect_true(
all(names(x) %in% responses)
)
#preference order auto
#should give the same results, but somehow it does not
y <- collinear(
df = df,
response = responses,
predictors = predictors,
preference_order = "auto",
quiet = TRUE
)
testthat::expect_true(
is.list(y)
)
testthat::expect_true(
all(names(y) %in% responses)
)
# mixed types ----
x <- collinear(
df = df,
predictors = predictors,
quiet = TRUE
)
testthat::expect_true(
is.character(x)
)
testthat::expect_true(
all(x %in% predictors)
)
testthat::expect_true(
length(predictors) > length(x)
)
#custom preference order
preference_order <- c(
"swi_mean",
"topo_elevation"
)
x <- collinear(
df = df,
predictors = predictors,
preference_order = preference_order,
quiet = TRUE
)
testthat::expect_true(
is.character(x)
)
testthat::expect_true(
all(x %in% predictors)
)
testthat::expect_true(
length(predictors) > length(x)
)
testthat::expect_true(
all(preference_order[1] == x[1])
)
#automated preference order
preference_order <- preference_order(
df = df,
response = "vi_numeric",
predictors = predictors,
warn_limit = NULL,
quiet = TRUE
)
x <- collinear(
df = df,
predictors = predictors,
preference_order = preference_order,
quiet = TRUE
)
testthat::expect_true(
is.character(x)
)
testthat::expect_true(
all(x %in% predictors)
)
testthat::expect_true(
length(predictors) > length(x)
)
testthat::expect_true(
all(preference_order$predictor[1] == x[1])
)
#internal preference order
testthat::expect_message(
x <- collinear(
df = df,
response = "vi_numeric",
predictors = predictors,
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_true(
is.character(x)
)
testthat::expect_true(
all(x %in% predictors)
)
testthat::expect_true(
length(predictors) > length(x)
)
#disabling vif and target encoding
predictors <- vi_predictors[1:10]
testthat::expect_message(
x <- collinear(
df = df,
response = "vi_numeric",
predictors = predictors,
encoding_method = NULL,
max_vif = NULL,
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_message(
y <- cor_select(
df = df,
predictors = predictors,
preference_order = preference_order(
df = df,
response = "vi_numeric",
predictors = predictors,
warn_limit = NULL
),
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_true(
all(x == y)
)
#disabling cor and target encoding
predictors <- vi_predictors_numeric[1:10]
preference_order <- preference_order(
df = df,
response = "vi_numeric",
predictors = predictors
) |>
suppressMessages()
testthat::expect_message(
x <- collinear(
df = df,
response = "vi_numeric",
predictors = predictors,
preference_order = preference_order,
encoding_method = NULL,
max_cor = NULL,
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_message(
y <- vif_select(
df = df,
predictors = predictors,
preference_order = preference_order,
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_true(
all(x == y)
)
# categorical only ----
predictors <- vi_predictors_categorical[1:5]
testthat::expect_message(
x <- collinear(
df = df,
response = "vi_factor",
predictors = predictors,
quiet = FALSE
)
) |>
suppressMessages()
testthat::expect_true(
is.character(x)
)
testthat::expect_true(
all(x %in% predictors)
)
testthat::expect_true(
length(predictors) > length(x)
)
# edge cases ----
#no df
testthat::expect_error(
x <- collinear(
df = NULL,
predictors = NULL
)
)
#predictors only
testthat::expect_error(
x <- collinear(
df = NULL,
predictors = vi_predictors
)
)
#few rows
testthat::expect_error(
x <- collinear(
df = vi[1, ],
predictors = vi_predictors,
quiet = TRUE
)
)
#no predictors
x <- collinear(
df = df[, 1:5],
predictors = NULL,
quiet = TRUE
)
testthat::expect_true(
all(x %in% colnames(df)[1:5])
)
#single predictor
predictors <- vi_predictors_numeric[1]
testthat::expect_message(
x <- collinear(
df = vi[1:1000, ],
predictors = predictors
)
) |>
suppressMessages()
testthat::expect_true(
x == predictors
)
})
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.