simmulti.msm {msm} | R Documentation |
Simulate a number of individual realisations from a multi-state Markov process. Observations of the process are made at specified arbitrary times for each individual.
simmulti.msm(data, qmatrix, beta, death = FALSE, tunit = 1)
data |
A data frame with mandatory columns named subject ,
corresponding to subject identification numbers, and time ,
representing observation times. Other named columns of the data frame
represent covariates.
|
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 )
)
|
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. |
death |
If TRUE , then the final state is an absorbing
state whose time of entry is known to within one day. |
tunit |
Unit in days of the given time vector (if death is
TRUE ). For example if time is measured in years, then
tunit = 365 .
|
sim.msm
is called repeatedly to produce a simulated
trajectory for each individual. The state at each specified
observation time is then taken to produce a new column state
.
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.
If the subject enters an absorbing state, then only the first
observation in that state is kept in the data frame. Rows corresponding to future
observations are deleted. If death
is TRUE
, then the
exact observation time of death is rounded up to the nearest 1 /
tunit
.
A data frame with columns,
subject |
Subject identification indicators |
time |
Observation times |
state |
Simulated state at the corresponding time |
plus any supplied covariates.
C. H. Jackson chris.jackson@imperial.ac.uk
### Simulate 100 individuals with common observation times sim.df <- data.frame(subject = rep(1:100, rep(13,100)), time = rep(seq(0, 24, 2), 100)) qmatrix <- rbind(c(-0.11, 0.1, 0.01 ), c(0.05, -0.15, 0.1 ), c(0.02, 0.07, -0.09)) simmulti.msm(sim.df, qmatrix)