tests/testthat/test-real-data.R

test_that("MultiFrailty fits smoothly to survival::lung dataset", {
  lung_df <- stats::na.omit(survival::lung[, c("time", "status", "age", "sex")])
  lung_df$status <- lung_df$status - 1

  fit_weib_gamma <- multifrailty(survival::Surv(time, status) ~ age + sex, data = lung_df,
                                 baseline = "weibull", frailty = "gamma")

  expect_s3_class(fit_weib_gamma, "multifrailty")
  expect_true(fit_weib_gamma$converged)
  expect_true(is.finite(fit_weib_gamma$logLik))

  fit_gw_ig <- multifrailty(survival::Surv(time, status) ~ age + sex, data = lung_df,
                            baseline = "gw", frailty = "ig")

  expect_s3_class(fit_gw_ig, "multifrailty")
  expect_true(fit_gw_ig$converged)
  expect_true(is.finite(fit_gw_ig$logLik))
})

test_that("MultiFrailty fits smoothly to survival::ovarian dataset", {
  ovarian_df <- survival::ovarian

  fit_gl1 <- multifrailty(survival::Surv(futime, fustat) ~ age + rx, data = ovarian_df,
                          baseline = "gw", frailty = "gl1")

  expect_s3_class(fit_gl1, "multifrailty")
  expect_true(fit_gl1$converged)
  expect_true(is.finite(fit_gl1$logLik))
})

test_that("MultiFrailty fits smoothly to survival::kidney dataset", {
  kidney_df <- survival::kidney

  fit_gl2 <- multifrailty(survival::Surv(time, status) ~ age + sex, data = kidney_df,
                          baseline = "weibull", frailty = "gl2")

  expect_s3_class(fit_gl2, "multifrailty")
  expect_true(fit_gl2$converged)
  expect_true(is.finite(fit_gl2$logLik))
})

Try the MultiFrailty package in your browser

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

MultiFrailty documentation built on Aug. 8, 2026, 1:07 a.m.