Skip to contents

Flexible parametric multi-state survival models for complex disease progression. Models transition hazards using splines and handles competing risks and intermediate states.

Usage

flexmultistate(
  data,
  time,
  status,
  start_state = NULL,
  predictors,
  model_type = "illness_death",
  hazard_distribution = "royston_parmar",
  spline_knots = 3,
  time_scale = "hazard",
  transition_specific = TRUE,
  shared_effects,
  time_varying_effects,
  prediction_times = "12, 24, 36, 60",
  transition_probabilities = TRUE,
  state_probabilities = TRUE,
  expected_sojourn = TRUE,
  plot_hazards = TRUE,
  plot_cumhaz = TRUE,
  plot_survival = TRUE,
  microsimulation = FALSE,
  n_simulation = 10000,
  confidence_intervals = TRUE
)

Arguments

data

The data as a data frame.

time

Time variable for transitions

status

State or transition status variable

start_state

Variable indicating starting state

predictors

Variables to include in transition models

model_type

Multi-state model configuration

hazard_distribution

Hazard function specification

spline_knots

Spline complexity parameter

time_scale

Transformation scale for splines

transition_specific

Fit separate models for each transition type

shared_effects

Predictors with constrained effects

time_varying_effects

Predictors with time-dependent coefficients

prediction_times

Time points for state occupancy predictions

transition_probabilities

Compute state transition probabilities

state_probabilities

Compute state occupancy probabilities

expected_sojourn

Compute expected sojourn times

plot_hazards

Generate hazard function plots

plot_cumhaz

Generate cumulative hazard plots

plot_survival

Generate state probability plots

microsimulation

Use simulation for state predictions

n_simulation

Sample size for microsimulation

confidence_intervals

Compute uncertainty estimates

Value

A results object containing:

results$todoa html
results$summarya html
results$transitionMatrixa table
results$transitionModelsa table
results$modelComparisona table
results$transitionProbTablea table
results$stateProbTablea table
results$sojournTablea table
results$hazardPlotan image
results$cumhazPlotan image
results$survivalPlotan image
results$transitionDiagraman image
results$microsimResultsa html
results$goodnessOfFita html
results$clinicalInterpretationa html

Tables can be converted to data frames with asDF or as.data.frame. For example:

results$transitionMatrix$asDF

as.data.frame(results$transitionMatrix)

Examples

# \donttest{
# Example usage
flexmultistate(
    data = disease_data,
    time = transition_time,
    status = state_variable,
    states = c("Healthy", "Disease", "Death"),
    transition_matrix = transition_def
)
# }