Nothing
extdat <- data.frame(start = c(5, 10, 15, 20),
stop = c(10, 15, 20, 25),
n = c(100, 100, 100, 100),
r = c(50, 40, 30, 20))
test_that("External data gives precise extrapolation",{
nde_mod <- survextrap(Surv(years, status) ~ 1, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="opt")
expect_true(hazard(nde_mod, t=20)$upper < 0.5)
expect_true(all(c(4,10,25) %in% nde_mod$mspline$knots))
})
test_that("External data with covariates",{
extdat$sex = 1
nde_mod1 <- survextrap(Surv(years, status) ~ sex, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="opt")
haz1 <- hazard(nde_mod1, newdata=list(sex=c(0,1)), t=20)
extdat$sex = 0
nde_mod0 <- survextrap(Surv(years, status) ~ sex, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="opt")
haz0 <- hazard(nde_mod0, newdata=list(sex=c(0,1)), t=20)
## more precise estimate given external data with the desired covariate value
expect_true(haz1$upper[haz1$sex==1] < haz0$upper[haz0$sex==1])
})
test_that("External data with nonproportional hazards",{
extdat$sex = 1
expect_no_error({
nde_mod1 <- survextrap(Surv(years, status) ~ sex, nonprop=TRUE, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="opt")
nde_mod1
})
})
test_that("External data with cure and covariates",{
extdat$sex = 1
expect_no_error({
nde_mod1 <- survextrap(Surv(years, status) ~ 1, cure=~sex, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="opt")
nde_mod1
})
})
test_that("external data MCMC fit",{
skip_on_cran()
extdat$sex = 1
suppressWarnings({
nde_mod1 <- survextrap(Surv(years, status) ~ sex, data=colons,
chains=1, external = extdat,
add_knots=c(4, 10, 25), fit_method="mcmc", iter=1000)
expect_true(is.numeric(nde_mod1$loo$estimates["looic","Estimate"]))
})
})
test_that("No individual-level data",{
nde_mod1 <- survextrap(~1, external = extdat,
mspline = list(df=5), fit_method="opt")
nde_mod1$mspline
plot_hazsurv(nde_mod1)
expect_warning(nde_mod1 <- survextrap(Surv(time, event) ~1, external = extdat,
mspline = list(df=5), fit_method="opt"),
"`formula` has a left-hand side, but `data` not supplied")
expect_error(survextrap(external = extdat), "argument \"formula\" is missing")
})
extdatc <- rbind(cbind(extdat, treat="no"),
cbind(extdat, treat="yes"))
extdatc$treat <- factor(extdatc$treat)
test_that("No individual-level data, covariates",{
nde_mod2 <- survextrap(~treat, external = extdatc,
mspline = list(df=5), fit_method="opt")
expect_false(nde_mod2$indiv)
})
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.