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 |
B |
Number of parameter draws to use |
fn |
Function to bootstrap the results of. It must have an argument named |
cl |
Width of symmetric confidence interval, by default 0.95 |
attrs |
Any attributes of the value returned from |
cores |
Number of cores to use for parallel processing. |
sample |
If |
... |
Additional arguments to pass to |
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.fmsm
## 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 <- flexsurv::pmatrix.fs(x, trans=tmat, t=t)
rest <- flexsurv::totlos.fs(x, trans=tmat, t=t)
list(resp, rest)
}
## Use bootci.fmsm 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)