Learn R Programming

spgs (version 1.0-4)

simulateMarkovChain: Simulate a first-Order Markov Chain

Description

Simulates a first-order Markov chain.

Usage

simulateMarkovChain(n, trans.mat, init.dist=NULL, states=colnames(trans.mat))

Value

A vector of length n containing a realisation of the specified Markov chain.

Arguments

n

the length of the sample path to simulate.

trans.mat

The transition matrix of the Markov chain to simulate.

init.dist

The initial distribution to use for starting the simulation. If it is not specified, the stationary distribution of the Markov chain will be computed from trans.mat and used to start the simulation in the steady state.

states

This argument can be used to override the labels on the transition matrix (if any) and name the states output on the sample path.

Author

Andrew Hart and Servet Martínez

Details

trans.mat must be a stochastic matrix. It must either have both row and column names, in which case they must agree, or no row and column names at all. The row/column names will be used to label the states visited by the Markov chain in the sample path simulated. If states is specified, it will be used to label the states of the Markov chain instead of the row/column names of trans.mat, in which the length of states must agree with the dimension of trans.mat. If trans.mat has no row/column names and states is not specified, then the states of the Markov chain will be labelled \(1,\ldots,n\), where \(n\) is the dimension of trans.mat.

See Also

estimateMarkovChain, rstochmat, rcspr2mat

Examples

Run this code
simulateMarkovChain(50, matrix(c(.8, .2, .2, .8), ncol=2))
simulateMarkovChain(50, rstochmat(3), states=c("yes", "no", "maybe"))

Run the code above in your browser using DataLab