context("glmnetUtils") skip_on_cran() skip_if_not_installed("modeltests") library(modeltests) skip_if_not_installed("glmnetUtils") library(glmnetUtils) set.seed(27) skip_if_not_installed("modeldata") library(modeldata) data(hpc_data) fit <- glmnet(formula = mpg ~ ., data = mtcars) fit2 <- glmnet( formula = class ~ compounds + input_fields + iterations + num_pending, data = hpc_data, family = "multinomial" ) cv_fit <- cv.glmnet(formula = mpg ~ ., data = mtcars) cv_fit2 <- cv.glmnet( formula = class ~ compounds + input_fields + iterations + num_pending, data = hpc_data, family = "multinomial" ) test_that("glmnet.formula tidier arguments", { check_arguments(tidy.glmnet) check_arguments(glance.glmnet) check_arguments(tidy.cv.glmnet) check_arguments(glance.cv.glmnet) }) test_that("tidy.glmnet.formula", { td <- tidy(fit) tdz <- tidy(fit, return_zeros = TRUE) check_tidy_output(td) check_tidy_output(tdz) check_dims(td, expected_cols = 5) check_dims(tdz, expected_cols = 5) expect_true(all(td$estimate != 0)) expect_true(any(tdz$estimate == 0)) # multinomial td2 <- tidy(fit2) td2z <- tidy(fit2, return_zeros = TRUE) check_tidy_output(td2) check_tidy_output(td2z) expect_is(td2, "tbl_df") expect_equal(dim(td2), c(983L, 6L)) expect_equal(dim(td2z), c(1240L, 6L)) expect_true(all(td2$estimate != 0)) expect_true(any(td2z$estimate == 0)) # regression tests expect_true(is.numeric(td$step) && !any(is.na(td$step))) expect_true(is.numeric(td2$step) && !any(is.na(td2$step))) }) test_that("glance.glmnet.formula", { gl <- glance(fit) gl2 <- glance(fit2) check_glance_outputs(gl, gl2) expect_is(gl, "tbl_df") expect_equal(dim(gl), c(1L, 3L)) })