library(simsurv)
stopifnot(require(testthat))
stopifnot(require(survival))
stopifnot(require(eha))
source(file.path("helpers", "sim_run.R"))
source(file.path("helpers", "check_bias.R"))
source(file.path("helpers", "recover_params.R"))
source(file.path("helpers", "recover_lambdas.R"))
source(file.path("helpers", "recover_gammas.R"))
source(file.path("helpers", "recover_betas.R"))
source(file.path("helpers", "is_exponential.R"))
source(file.path("helpers", "is_weibull.R"))
source(file.path("helpers", "is_gompertz.R"))
run_sims <- FALSE
nsims <- 100
npat <- 1000
tol <- 0.05
set.seed(9898)
#------- Standard parametric models
test_that("exponential model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, X1 = -0.5, X2 = 0.2)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "exponential", interval = c(1E-8, 10000))
check_bias(sims = sims, true = true, tol = tol)
})
test_that("weibull model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, gammas = 1.5, X1 = -0.5, X2 = 0.2)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "weibull")
check_bias(sims = sims, true = true, tol = tol)
})
test_that("gompertz model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, gammas = 0.7, X1 = -0.5, X2 = 0.2)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "gompertz", interval = c(1E-8, 10000))
check_bias(sims = sims, true = true, tol = tol)
})
#------- Standard parametric models with tde (interaction with time)
tdefunction <- NULL
test_that("tde (NULL) exponential model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, X1 = -0.5, X2 = 0.2,
X1tt = 0.1, X2tt = -0.1)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "exponential", tdefunction = tdefunction)
check_bias(sims = sims, true = true, tol = tol, type = "bias")
})
test_that("tde (NULL) weibull model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, gammas = 1.5, X1 = -0.5, X2 = 0.2,
X1tt = 0.1, X2tt = -0.1)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "weibull", tdefunction = tdefunction)
check_bias(sims = sims, true = true, tol = tol)
})
test_that("tde (NULL) gompertz model returns unbiased estimates", {
testthat::skip_if_not(run_sims, "Not running simulation tests.")
true <- list(lambdas = 0.1, gammas = .7, X1 = -0.5, X2 = 0.2,
X1tt = 0.1, X2tt = -0.1)
sims <- sapply(seq(nsims), sim_run, npat = npat, true = true,
dist = "gompertz", tdefunction = tdefunction)
check_bias(sims = sims, true = true, tol = tol)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.