bootci.fmsm: Bootstrap confidence intervals for flexsurv output functions

View source: R/mstate.R

bootci.fmsmR Documentation

Bootstrap confidence intervals for flexsurv output functions


Calculate a confidence interval for a model output by repeatedly replacing the parameters in a fitted model object with a draw from the multivariate normal distribution of the maximum likelihood estimates, then recalculating the output function.


  cl = 0.95,
  attrs = NULL,
  cores = NULL,
  sample = FALSE,



Output from flexsurvreg or flexsurvspline, representing a fitted survival model object. Or a list of such objects, defining a multi-state model.


Number of parameter draws to use


Function to bootstrap the results of. It must have an argument named 'codex giving a fitted flexsurv model object. This may return a value with any format, e.g. list, matrix or vector, as long as it can be converted to a numeric vector with unlist. See the example below.


Width of symmetric confidence interval, by default 0.95


Any attributes of the value returned from fn which we want confidence intervals for. These will be unlisted, if possible, and appended to the result vector.


Number of cores to use for parallel processing.


If TRUE then the bootstrap sample itself is returned. If FALSE then the quantiles of the sample are returned giving a confidence interval.


Additional arguments to pass to fn.


A matrix with two rows, giving the upper and lower confidence limits respectively. Each row is a vector of the same length as the unlisted result of the function corresponding to fncall.


## How to use bootci.msm

## Write a function with one argument called x giving a fitted model,
## and returning some results of the model.  The results may be in any form.   

tmat <- rbind(c(NA,1,2),c(NA,NA,3),c(NA,NA,NA))
bexp <- flexsurvreg(Surv(Tstart, Tstop, status) ~ trans, data=bosms3, dist="exp")

summfn <- function(x, t){
 resp <-  pmatrix.fs(x, trans=tmat, t=t)
 rest <- totlos.fs(x, trans=tmat, t=t)
 list(resp, rest)

## Use bootci.msm to obtain the confidence interval
## The matrix columns are in the order of the unlisted results of the original
## summfn.  You will have to rearrange them into the format that you want.
## If summfn has any extra arguments, in this case \code{t}, make sure they are
## passed through via the ... argument to bootci.fmsm

bootci.fmsm(bexp, B=3, fn=summfn, t=10)
bootci.fmsm(bexp, B=3, fn=summfn, t=5)

flexsurv documentation built on Feb. 16, 2023, 5:07 p.m.