tests/testthat/test-glm-cv-aze.R

test_that("cv.plsRglm + helpers on aze run and produce coherent objects", {
  skip_on_cran()
  data(aze, package = "plsRglm")
  set.seed(123)
  cvfit <- cv.plsRglm(y ~ ., data = aze, nt = 2,
                      modele = "pls-glm-family", 
                      family = stats::binomial(),
                      K = 3, NK = 1, random = TRUE, verbose = FALSE)
  expect_s3_class(cvfit, "cv.plsRglmmodel")
  s <- summary(cvfit)
  expect_s3_class(s, "summary.cv.plsRglmmodel")

  # cvtable should return the specialized table class
  tab <- cvtable(s, verbose = FALSE)
  expect_s3_class(tab, "table.summary.cv.plsRglmmodel")
  expect_true(length(tab) >= 1)

  # PRESS and MissClassed summaries must compute
  pr <- kfolds2Press(cvfit)
  expect_true(is.list(pr) || is.numeric(pr))
  mc <- kfolds2Mclassed(cvfit)
  expect_true(is.list(mc) || is.numeric(mc))
})

test_that("summary.cv.plsRglmmodel handles symbolic nt values", {
  skip_on_cran()
  data(aze, package = "plsRglm")

  nt_val <- 2
  cvfit <- cv.plsRglm(y ~ ., data = aze, nt = nt_val,
                      modele = "pls-glm-family",
                      family = stats::binomial(),
                      K = 3, NK = 1, random = TRUE, verbose = FALSE)
  rm(nt_val)

  s <- summary(cvfit)

  expect_s3_class(cvfit, "cv.plsRglmmodel")
  expect_s3_class(s, "summary.cv.plsRglmmodel")
  expect_length(s, 1L)
})

Try the plsRglm package in your browser

Any scripts or data that you put into this service are public.

plsRglm documentation built on June 17, 2026, 5:06 p.m.