R: Bootstrap confidence intervals for flexsurv output functions

bootci.fmsm {flexsurv} | R Documentation

## Bootstrap confidence intervals for flexsurv output functions

### Description

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.

### Usage

    bootci.fmsm(
      x,
      B,
      fn,
      cl = 0.95,
      attrs = NULL,
      cores = NULL,
      sample = FALSE,
      ...
    )

### Arguments

`x` | Output from `flexsurvreg` or `flexsurvspline`, representing a fitted survival model object. Or a list of such objects, defining a multi-state model.
`B` | Number of parameter draws to use
`fn` | 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.
`cl` | Width of symmetric confidence interval, by default 0.95
`attrs` | 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.
`cores` | Number of cores to use for parallel processing.
`sample` | 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`.

### Value

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`.

### Examples

    ## 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)

[Package flexsurv version 2.0 Index]