Running ‘testthat.R’ [200s/308s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > library(scoringTools)
  > 
  > test_check("scoringTools")
  Generalized Linear Model of class 'speedglm':
  
  Call:  speedglm::speedglm(formula = labels ~ ., data = df_augmente[,      -which(names(df_augmente) %in% c("poidsfinal", "classe_SCORE"))][!df_augmente$poidsfinal ==      0, ], family = stats::binomial(link = "logit"), weights = df_augmente$poidsfinal[!df_augmente$poidsfinal ==      0]) 
  
  Coefficients:
  (Intercept)          x.1          x.2  
       -0.188        1.548       -2.002  
  
  Generalized Linear Model of class 'speedglm':
  
  Call:  speedglm::speedglm(formula = stats::formula("labels ~ ."), data = Filter(function(x) (length(unique(x)) >      1), cbind(data.frame(sapply(disc$Disc.data, as.factor), stringsAsFactors = TRUE),      data_train[, sapply(data_train, is.factor), drop = FALSE])),      family = stats::binomial(link = "logit"), weights = NULL,      fitted = TRUE) 
  
  Coefficients:
  (Intercept)          X12          X22          X23          X24          X32  
         2.31        -3.07        -3.59        15.26        -2.93        -3.18  
  
  Generalized Linear Model of class 'speedglm':
  
  Call:  speedglm::speedglm(formula = stats::formula("labels ~ ."), data = Filter(function(x) (length(unique(x)) >      1), cbind(data.frame(sapply(disc$Disc.data, as.factor), stringsAsFactors = TRUE),      data_train[, sapply(data_train, is.factor), drop = FALSE])),      family = stats::binomial(link = "logit"), weights = NULL,      fitted = TRUE) 
  
  Coefficients:
  (Intercept)          X12          X22          X23          X24          X32  
         2.31        -3.07        -3.59        15.26        -2.93        -3.18  
  
  ══ Warnings ════════════════════════════════════════════════════════════════════
  ── Warning (test-augmentation.R:9:3): augmentation method works with speedglm and glm ──
  non-integer #successes in a binomial glm!
  Backtrace:
   1. scoringTools::augmentation(xf, xnf, yf) test-augmentation.R:9:2
   2. speedglm::speedglm(...)
   3. speedglm::speedglm.wfit(...)
  ── Warning (test-chi2.R:74:9): chi2 method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chi2_iter(...) test-chi2.R:74:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-chi2.R:74:9): chi2 method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chi2_iter(...) test-chi2.R:74:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-chiM.R:74:9): chiM method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chiM_iter(...) test-chiM.R:74:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-chiM.R:74:9): chiM method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chiM_iter(...) test-chiM.R:74:8
   2. scoringTools:::calculate_criterlist(...)
   7. speedglm::predict.speedglm(logit, data_validation, type = "response")
   8. speedglm::predict.speedlm(...)
  ── Warning (test-chiM.R:74:9): chiM method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chiM_iter(...) test-chiM.R:74:8
   2. scoringTools:::calculate_performance(...)
   7. speedglm::predict.speedglm(best.disc[[1]], data_test, type = "response")
   8. speedglm::predict.speedlm(...)
  ── Warning (test-chiM.R:74:9): chiM method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::chiM_iter(...) test-chiM.R:74:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-fuzzy-augmentation.R:9:3): fuzzy-augmentation method works with speedglm and glm ──
  non-integer #successes in a binomial glm!
  Backtrace:
   1. scoringTools::fuzzy_augmentation(xf, xnf, yf) test-fuzzy-augmentation.R:9:2
   2. speedglm::speedglm(...)
   3. speedglm::speedglm.wfit(...)
  ── Warning (test-mdlp.R:18:9): mdlp method works with speedglm and glm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::mdlp_iter(...) test-mdlp.R:18:8
   2. scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-mdlp.R:18:9): mdlp method works with speedglm and glm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::mdlp_iter(...) test-mdlp.R:18:8
   2. scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-mdlp.R:18:9): mdlp method works with speedglm and glm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::mdlp_iter(...) test-mdlp.R:18:8
   2. scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-mdlp.R:18:9): mdlp method works with speedglm and glm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::mdlp_iter(...) test-mdlp.R:18:8
   2. scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-mdlp.R:18:9): mdlp method works with speedglm and glm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::mdlp_iter(...) test-mdlp.R:18:8
   2. scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-methods.R:17:3): show method for reject works ─────────────────
  non-integer #successes in a binomial glm!
  Backtrace:
   1. scoringTools::augmentation(xf, xnf, yf) test-methods.R:17:2
   2. speedglm::speedglm(...)
   3. speedglm::speedglm.wfit(...)
  ── Warning (test-methods.R:66:3): predict method for reject inference works ────
  non-integer #successes in a binomial glm!
  Backtrace:
   1. scoringTools::augmentation(xf, xnf, yf) test-methods.R:66:2
   2. speedglm::speedglm(...)
   3. speedglm::speedglm.wfit(...)
  ── Warning (test-methods.R:73:3): predict method for reject inference works ────
  non-integer #successes in a binomial glm!
  Backtrace:
   1. scoringTools::augmentation(data.frame(xf), data.frame(xnf), yf) test-methods.R:73:2
   2. speedglm::speedglm(...)
   3. speedglm::speedglm.wfit(...)
  ── Warning (???): plot method for discretization works ─────────────────────────
  Package 'plotly' suggested but not installed, falling back to 'graphics' package.
  Backtrace:
   1. testthat::expect_error(base_plot <- plot(x = chi2_modele, type = "ROC"))
   7. scoringTools::plot(x = chi2_modele, type = "ROC")
   8. scoringTools:::.local(x, ...)
  ── Warning (???): plot method for discretization works ─────────────────────────
  Package 'plotly' suggested but not installed, falling back to 'graphics' package.
  Backtrace:
   1. testthat::expect_error(base_plot <- plot(x = chi2_modele, type = "discretization"))
   7. scoringTools::plot(x = chi2_modele, type = "discretization")
   8. scoringTools:::.local(x, ...)
  ── Warning (???): plot method for discretization works ─────────────────────────
  Package 'plotly' suggested but not installed, falling back to 'graphics' package.
  Backtrace:
   1. testthat::expect_error(base_plot <- plot(x = chi2_modele, type = "lift"))
   7. scoringTools::plot(x = chi2_modele, type = "lift")
   8. scoringTools:::.local(x, ...)
  ── Warning (???): plot method for discretization works ─────────────────────────
  Speedglm not installed, using glm instead (slower).
  Backtrace:
   1. scoringTools::chi2_iter(x, y)
  ── Warning (???): plot method for discretization works ─────────────────────────
  Package 'plotly' suggested but not installed, falling back to 'graphics' package.
  Backtrace:
   1. base::plot(x = chi2_modele, type = "glm")
   2. scoringTools::plot(x = chi2_modele, type = "glm")
   3. scoringTools:::.local(x, ...)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:18:9): topdown method works with speedglm on matrices ──
  the condition has length > 1 and only the first element will be used
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:18:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::speedglm.wfit(...)
   5. speedglm::cp(X, W, row.chunk, sparse)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::calculate_performance(...)
   7. speedglm::predict.speedglm(best.disc[[1]], data_test, type = "response")
   8. speedglm::predict.speedlm(...)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  ── Warning (test-topdown.R:54:9): topdown method works with speedglm and glm on dataframes with additional factors ──
  prediction from a rank-deficient fit may be misleading
  Backtrace:
   1. scoringTools::topdown_iter(...) test-topdown.R:54:8
   2. scoringTools:::fit_disc(disc[[i]], data_train, type = "speedglm")
   3. speedglm::speedglm(...)
   4. speedglm::predict.speedlm(rval, newdata = data)
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error (test-mdlp.R:73:9): mdlp method works with speedglm and glm on dataframes with additional factors ──
  Error: system is computationally singular: reciprocal condition number = 1.29526e-16
  Backtrace:
      █
   1. └─scoringTools::mdlp_iter(...) test-mdlp.R:73:8
   2.   └─scoringTools:::fit_disc(disc, data_train, type = "speedglm")
   3.     └─speedglm::speedglm(...)
   4.       └─speedglm::speedglm.wfit(...)
   5.         ├─base::solve(XTX, XTz, tol = tol.solve)
   6.         ├─base::solve(XTX, XTz, tol = tol.solve)
   7.         └─base::solve.default(XTX, XTz, tol = tol.solve)
  
  [ FAIL 1 | WARN 55 | SKIP 0 | PASS 981 ]
  Error: Test failures
  Execution halted