Nothing
skip_if_not_installed("recipes")
test_that("guard_to_recipe returns a recipe object", {
df <- data.frame(outcome = c(0, 1, 0, 1), x1 = rnorm(4), x2 = rnorm(4))
steps <- list(impute = list(method = "median"),
normalize = list(method = "zscore"))
rec <- guard_to_recipe(steps, outcome ~ ., df)
expect_s3_class(rec, "recipe")
})
test_that("median + zscore adds correct step classes", {
df <- data.frame(outcome = c(0, 1, 0, 1), x1 = rnorm(4), x2 = rnorm(4))
steps <- list(impute = list(method = "median"),
normalize = list(method = "zscore"))
rec <- guard_to_recipe(steps, outcome ~ ., df)
step_classes <- vapply(rec$steps, function(s) class(s)[1], character(1))
expect_true("step_impute_median" %in% step_classes)
expect_true("step_normalize" %in% step_classes)
})
test_that("kNN imputation adds step_impute_knn", {
df <- data.frame(outcome = c(0, 1, 0, 1), x1 = rnorm(4), x2 = rnorm(4))
steps <- list(impute = list(method = "knn", k = 3))
rec <- guard_to_recipe(steps, outcome ~ ., df)
step_classes <- vapply(rec$steps, function(s) class(s)[1], character(1))
expect_true("step_impute_knn" %in% step_classes)
})
test_that("warns for unsupported FS methods (ttest, lasso)", {
df <- data.frame(outcome = c(0, 1, 0, 1), x1 = rnorm(4), x2 = rnorm(4))
expect_warning(
guard_to_recipe(list(fs = list(method = "ttest")), outcome ~ ., df),
"ttest"
)
expect_warning(
guard_to_recipe(list(fs = list(method = "lasso")), outcome ~ ., df),
"lasso"
)
})
test_that("warns for missForest imputation fallback", {
df <- data.frame(outcome = c(0, 1, 0, 1), x1 = rnorm(4), x2 = rnorm(4))
expect_warning(
guard_to_recipe(list(impute = list(method = "missForest")), outcome ~ ., df),
"missForest"
)
})
test_that("output recipe can be prep'd and bake'd without error", {
set.seed(1)
df <- data.frame(outcome = c(0, 1, 0, 1, 0, 1),
x1 = c(1, NA, 3, 4, 5, 6),
x2 = c(10, 20, 30, 40, 50, 60))
steps <- list(impute = list(method = "median"),
normalize = list(method = "zscore"))
rec <- guard_to_recipe(steps, outcome ~ ., df)
prepped <- recipes::prep(rec, training = df)
baked <- recipes::bake(prepped, new_data = df)
expect_true(is.data.frame(baked))
expect_false(any(is.na(baked$x1)))
})
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.