flexsurvreg
. This is defined by
the integral of the transition probability matrix, though this is
not analytically possible and is computed by simulation.
totlos.simfs(x, trans, t=1, start=1, newdata=NULL, ci=FALSE, tvar="trans", tcovs=NULL, group=NULL, M=100000, B=1000, cl=0.95)
flexsurvreg
. See
msfit.flexsurvreg
for the required form of the model and the data. Additionally
this should be semi-Markov, so that the time variable represents
the time since the last transition. In other words the response should
be of the form Surv(time,status)
. See the package vignette for further
explanation. x
can also be a list of models, with one component for each
permitted transition, as illustrated in
msfit.flexsurvreg
.
msfit.flexsurvreg
.msfit.flexsurvreg
.
B
and/or
M
until the results reach the desired precision.
The simulation over M
is generally vectorised, therefore
increasing B
is usually more expensive than increasing M
.
x
is a list of models. sim.fmsm
.group=c(1,1,2,2)
, then
totlos.simfs
returns the expected total time in
states 1 and 2 combined, and states 3 and 4 combined.group
) up to time t
, and corresponding confidence
intervals if requested.
M
using the maximum likelihood estimates of the fitted model and the
function sim.fmsm
. Therefore this requires a random sampling
function for the parametric survival model to be available: see the
"Details" section of sim.fmsm
. This will be available
for all built-in distributions, though users may need to write this
for custom models. Note the random sampling method for flexsurvspline
models is
currently very inefficient, so that looping over M
will be very
slow.
The equivalent function for time-inhomogeneous Markov models is
totlos.fs
. Note neither of these functions give errors
or warnings if used with the wrong type of model, but the results will
be invalid.
pmatrix.simfs
,sim.fmsm
,msfit.flexsurvreg
.
# BOS example in vignette, and in msfit.flexsurvreg
bexp <- flexsurvreg(Surv(years, status) ~ trans, data=bosms3, dist="exp")
tmat <- rbind(c(NA,1,2),c(NA,NA,3),c(NA,NA,NA))
# predict 4 years spent without BOS, 3 years with BOS, before death
# As t increases, this should converge
totlos.simfs(bexp, t=10, trans=tmat)
totlos.simfs(bexp, t=1000, trans=tmat)
Run the code above in your browser using DataLab