Nothing
require(survival)
test_that("input checks", {
exprfit <- Surv(survtime, censorid) ~ age + sex + BMI
tcoxmod <- coxph(exprfit, data= surgerydat)
expect_error(bk_control_limit(time = -500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat),
"Argument time must be a single positive numeric value.")
expect_error(bk_control_limit(time = 500, alpha = -0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat),
"Argument alpha must be a single numeric value between 0 and 1.")
expect_error(bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = -0.5, n_sim = 10, baseline_data = surgerydat),
"Argument psi must be a single numeric value larger than 0.")
expect_error(bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10.5, baseline_data = surgerydat),
"Argument n_sim must be a single integer value larger than 0.")
})
test_that("Output checks", {
exprfit <- Surv(survtime, censorid) ~ age + sex + BMI
tcoxmod <- coxph(exprfit, data= surgerydat)
bkcontrol <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)
expect_length(bkcontrol$charts, 10)
bkcontrol2 <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat, seed = 1041996)
expect_equal(bkcontrol2$h, bkcontrol$h)
expect_output(bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat, pb = TRUE))
#Control limit should be lower than 0 when lower-sided CUSUM
expect_lt(bk_control_limit(time = 500, alpha = 0.1, theta = -log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)$h, 0)
})
test_that("Parameter_assist works as expected", {
skip_on_cran()
pars <- parameter_assist(baseline_data = surgerydat,
data = subset(surgerydat, unit == 1),
formula = formula("survtime ~ age + sex + BMI"), time = 500)
bk_assist <- bk_control_limit(assist = pars)
exprfit <- Surv(survtime, censorid) ~ age + sex + BMI
tcoxmod <- coxph(exprfit, data= surgerydat)
bk_noassist <- bk_control_limit(time = 500, alpha = 0.05, theta = log(2),
coxphmod = tcoxmod, psi = arrival_rate(subset(surgerydat, unit == 1)), n_sim = 200, baseline_data = surgerydat)
expect_equal(bk_assist$h, bk_noassist$h)
})
test_that("Theory", {
exprfit <- Surv(survtime, censorid) ~ age + sex + BMI
tcoxmod <- coxph(exprfit, data= surgerydat)
psilow <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.3, n_sim = 10, baseline_data = surgerydat)
psihigh <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.7, n_sim = 10, baseline_data = surgerydat)
#Increasing psi should increase control limit
expect_lt(psilow$h, psihigh$h)
##############################################
thetalow <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)
thetahigh <- bk_control_limit(time = 500, alpha = 0.1, theta = log(6),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)
#Increasing theta should increase control limit
expect_lt(thetalow$h, thetahigh$h)
##############################################
alphalow <- bk_control_limit(time = 500, alpha = 0.1, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)
alphahigh <- bk_control_limit(time = 500, alpha = 0.4, theta = log(2),
coxphmod = tcoxmod, psi = 0.5, n_sim = 10, baseline_data = surgerydat)
#Increasing alpha decreases control limit
expect_gt(alphalow$h, alphahigh$h)
##############################################
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.