length_of_stay: Estimates length of stay

Description Usage Arguments Value Examples

Description

Estimates length of stay in each state of an individual's passage through a multi-state model by discrete event simulation.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
length_of_stay(
  models,
  newdata,
  trans_mat,
  times,
  start_state = 1,
  tcovs = NULL,
  N = 1e+05,
  M = 1000,
  ci = FALSE,
  ci_margin = 0.95,
  agelimit = FALSE,
  agecol = "age",
  agescale = 365.25
)

Arguments

models

List of flexsurvreg objects.

newdata

Data frame with covariates of individual to simulate times for. Must contain all fields required by models.

trans_mat

Transition matrix, such as that used in mstate.

times

Times at which to estimate length of stay.

start_state

Starting state. Either number or character name in trans_mat.

tcovs

As in flexsurv::pmatrix.simfs, this is the names of covariates that need to be incremented by the simulation clock at each transition, such as age when modelled as age at state entry.

N

Number of times to repeat the individual

M

Number of times to run the simulations in order to obtain confidence interval estimates.

ci

Whether to calculate confidence intervals. See flexsurv::pmatrix.simfs for details.

ci_margin

Confidence interval range to use if ci is set to TRUE.

agelimit

Whether to automatically assign people to an 'early death' state. This is useful as otherwise individuals can be assigned unrealistic time-to-events due to the nature of sampling times from a random number distribution. If this value is FALSE then no limit is applied, otherwise provide the time-limit to be used. This limit must be in the same time-scale as the time-to-event models.

agecol

The name of the column in newdata that holds an individual's age.

agescale

Any multiplication to be applied to the age covariate to put it onto the same time-scale as the simulation. This is often useful as time-to-event may be measured on a day-based time-scale while age is typically measured in years.

Value

A data frame containing length of stay estimates.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
library(multistateutils)
library(mstate)
library(flexsurv)

# Convert data to long
data(ebmt3)
tmat <- trans.illdeath()
long <- msprep(time=c(NA, 'prtime', 'rfstime'),
               status=c(NA, 'prstat', 'rfsstat'),
               data=ebmt3,
               trans=tmat,
               keep=c('age', 'dissub'))

# Fit parametric models
models <- lapply(1:3, function(i) {
    flexsurvreg(Surv(time, status) ~ age + dissub, data=long, dist='weibull')
})

# New individual to estimate transition probabilities for
newdata <- data.frame(age="20-40", dissub="AML")

# Estimate length of stay in each state after a year, given starting in state 1
length_of_stay(models,
               newdata=newdata,
               tmat, times=365.25,
               start=1)

multistateutils documentation built on Dec. 16, 2019, 1:19 a.m.