context("survival-survdiff") skip_on_cran() skip_if_not_installed("modeltests") library(modeltests) skip_if_not_installed("survival") library(survival) fit <- survdiff(Surv(futime, fustat) ~ rx, data = ovarian) fit2 <- survdiff(Surv(time, status) ~ pat.karno + strata(inst), data = lung) fit3 <- survdiff( Surv(time, status) ~ pat.karno + ph.ecog + strata(inst) + strata(sex), data = lung ) expect <- survexp(futime ~ 1, rmap = list( age = (accept.dt - birth.dt), sex = 1, year = accept.dt, race = "white" ), jasa, cohort = FALSE, ratetable = survexp.usr ) fit4 <- survdiff(Surv(jasa$futime, jasa$fustat) ~ offset(expect)) fit5 <- survdiff(Surv(futime, fustat) ~ rx + ecog.ps, data = ovarian) rm(expect) test_that("survdiff tidier arguments", { check_arguments(tidy.survdiff) check_arguments(glance.survdiff) }) test_that("tidy.survdiff", { td <- tidy(fit) td2 <- tidy(fit2) td3 <- tidy(fit3) td4 <- tidy(fit4) td5 <- tidy(fit5) # The output from tidy.survdiff uses variable names as column names because # the output contains a row for each level of the (statistical) factor. This # output meets the criteria for 'tidy' data. Therefore, strict may be # set to FALSE to allow these tests to pass. check_tidy_output(td, strict = FALSE) check_tidy_output(td2, strict = FALSE) check_tidy_output(td3, strict = FALSE) check_tidy_output(td4) check_tidy_output(td5, strict = FALSE) }) test_that("glance.survdiff", { gl <- glance(fit) gl2 <- glance(fit2) gl3 <- glance(fit3) gl4 <- glance(fit4) gl5 <- glance(fit5) check_glance_outputs(gl, gl2, gl3, gl4, gl5) })