crudeinits.msm: Calculate crude initial values for transition intensities

Description Usage Arguments Details Value Author(s) See Also Examples

View source: R/msm.R


Calculates crude initial values for transition intensities by assuming that the data represent the exact transition times of the Markov process.


crudeinits.msm(formula, subject, qmatrix, data=NULL, censor=NULL, censor.states=NULL)



A formula giving the vectors containing the observed states and the corresponding observation times. For example,

state ~ time

Observed states should be in the set 1, ..., n, where n is the number of states. Note hidden Markov models are not supported by this function.


Vector of subject identification numbers for the data specified by formula. If missing, then all observations are assumed to be on the same subject. These must be sorted so that all observations on the same subject are adjacent.


Matrix of indicators for the allowed transitions. An initial value will be estimated for each value of qmatrix that is greater than zero. Transitions are taken as disallowed for each entry of qmatrix that is 0.


An optional data frame in which the variables represented by subject and state can be found.


A state, or vector of states, which indicates censoring. See msm.


Specifies the underlying states which censored observations can represent. See msm.


Suppose we want a crude estimate of the transition intensity q_rs from state r to state s. If we observe n_rs transitions from state r to state s, and a total of n_r transitions from state r, then q_rs / q_rr can be estimated by n_rs / n_r. Then, given a total of T_r years spent in state r, the mean sojourn time 1 / q_rr can be estimated as T_r / n_r. Thus, n_rs / T_r is a crude estimate of q_rs.

If the data do represent the exact transition times of the Markov process, then these are the exact maximum likelihood estimates.

Observed transitions which are incompatible with the given qmatrix are ignored. Censored states are ignored.


The estimated transition intensity matrix. This can be used as the qmatrix argument to msm.


C. H. Jackson

See Also



twoway4.q <- rbind(c(-0.5, 0.25, 0, 0.25), c(0.166, -0.498, 0.166, 0.166),
c(0, 0.25, -0.5, 0.25), c(0, 0, 0, 0))
statetable.msm(state, PTNUM, data=cav)
crudeinits.msm(state ~ years, PTNUM, data=cav, qmatrix=twoway4.q)

msm documentation built on May 21, 2017, 4:13 a.m.

Search within the msm package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at

Please suggest features or report bugs in the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.