context("tidy model summaries")
data(breastcancer)
dat <- breastcancer
dat$cont <- runif(n = 192, min = -1, max = 1)
test_that("tidy(risk*(...), approach = 'all') returns 9 ratio, 7 diff models (categorical)", {
fit_rr <- riskratio(formula = death ~ stage + receptor,
data = dat, approach = "all")
fit_rd <- riskdiff(formula = death ~ stage + receptor,
data = dat, approach = "all")
# RR: no glm; if logbin installed: also logbin and logbin_start
expect_equal(length(unique(broom::tidy(fit_rr)$model)),
7 + 2 * requireNamespace("logbin", quietly = TRUE))
# RD: with glm, but no logistic, no duplicate, no glm-start/duplicate
# if addreg installed: addreg and addreg_start
expect_equal(length(unique(broom::tidy(fit_rd)$model)),
5 + 2 * requireNamespace("addreg", quietly = TRUE))
expect_equal(nrow(tidy(riskratio(formula = death ~ stage + receptor,
data = dat, approach = "glm_startp"),
bootverbose = TRUE)),
4) # coefs from glm_start
})
test_that("tidy(risk*(...), approach = 'all') returns 10 ratio, 7 diff models (continuous)", {
fit_rr <- riskratio(formula = death ~ cont,
data = dat, approach = "all")
success_models <- unique(broom::tidy(fit_rr)$model)
fit_rd <- riskdiff(formula = death ~ cont,
data = dat, approach = "all")
# expect that all 9 models work for RR, but allow plain glm to fail because of
# random exposure variable
expect_equal(
length(success_models) == 8 +
2 * requireNamespace("logbin", quietly = TRUE) |
(length(success_models) == 7 +
2 * requireNamespace("logbin", quietly = TRUE) &
!("glm" %in% success_models)),
TRUE)
# RD has no logistic, no duplicate, and no glm-start/duplicate:
expect_equal(length(unique(broom::tidy(fit_rd)$model)),
5 + 2 * requireNamespace("addreg", quietly = TRUE))
expect_equal(nrow(tidy(riskratio(formula = death ~ cont,
data = dat, approach = "glm_startp"),
bootverbose = TRUE)),
2) # 2 coefs from glm_start with Poisson: intercept and 'cont'
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.