Learn R Programming

msm (version 1.8.1)

sim.msm: Simulate one individual trajectory from a continuous-time Markov model

Description

Simulate one realisation from a continuous-time Markov process up to a given time.

Usage

sim.msm(
  qmatrix,
  maxtime,
  covs = NULL,
  beta = NULL,
  obstimes = 0,
  start = 1,
  mintime = 0
)

Value

A list with components,

states

Simulated states through which the process moves. This ends with either an absorption before obstime, or a transient state at obstime.

times

Exact times at which the process changes to the corresponding states

qmatrix

The given transition intensity matrix

Arguments

qmatrix

The transition intensity matrix of the Markov process. The diagonal of qmatrix is ignored, and computed as appropriate so that the rows sum to zero. For example, a possible qmatrix for a three state illness-death model with recovery is:

rbind( c( 0, 0.1, 0.02 ), c( 0.1, 0, 0.01 ), c( 0, 0, 0 ) )

maxtime

Maximum time for the simulated process.

covs

Matrix of time-dependent covariates, with one row for each observation time and one column for each covariate.

beta

Matrix of linear covariate effects on log transition intensities. The rows correspond to different covariates, and the columns to the transition intensities. The intensities are ordered by reading across rows of the intensity matrix, starting with the first, counting the positive off-diagonal elements of the matrix.

obstimes

Vector of times at which the covariates are observed.

start

Starting state of the process. Defaults to 1.

mintime

Starting time of the process. Defaults to 0.

Details

The effect of time-dependent covariates on the transition intensity matrix for an individual is determined by assuming that the covariate is a step function which remains constant in between the individual's observation times.

See Also

simmulti.msm

Examples

Run this code


qmatrix <- rbind(
                 c(-0.2,   0.1,  0.1 ),
                 c(0.5,   -0.6,  0.1 ),
                 c(0,  0,  0)
                 )
sim.msm(qmatrix, 30)

Run the code above in your browser using DataLab