The S4 class that describes `markovchain`

objects.

Objects can be created by calls of the form `new("markovchain", states, byrow, transitionMatrix, ...)`

.

`states`

:Name of the states. Must be the same of

`colnames`

and`rownames`

of the transition matrix`byrow`

:Binary flag.

`transitionMatrix`

:Square transition matrix

`name`

:Optional character name of the Markov chain

- *
`signature(e1 = "markovchain", e2 = "markovchain")`

: multiply two`markovchain`

objects- *
`signature(e1 = "markovchain", e2 = "matrix")`

: markovchain by matrix multiplication- *
`signature(e1 = "markovchain", e2 = "numeric")`

: markovchain by numeric vector multiplication- *
`signature(e1 = "matrix", e2 = "markovchain")`

: matrix by markov chain- *
`signature(e1 = "numeric", e2 = "markovchain")`

: numeric vector by`markovchain`

multiplication- [
`signature(x = "markovchain", i = "ANY", j = "ANY", drop = "ANY")`

: ...- ^
`signature(e1 = "markovchain", e2 = "numeric")`

: power of a`markovchain`

object- ==
`signature(e1 = "markovchain", e2 = "markovchain")`

: equality of two`markovchain`

object- !=
`signature(e1 = "markovchain", e2 = "markovchain")`

: non-equality of two`markovchain`

object- absorbingStates
`signature(object = "markovchain")`

: method to get absorbing states- canonicForm
`signature(object = "markovchain")`

: return a`markovchain`

object into canonic form- coerce
`signature(from = "markovchain", to = "data.frame")`

: coerce method from markovchain to`data.frame`

- conditionalDistribution
`signature(object = "markovchain")`

: returns the conditional probability of subsequent states given a state- coerce
`signature(from = "data.frame", to = "markovchain")`

: coerce method from`data.frame`

to`markovchain`

- coerce
`signature(from = "table", to = "markovchain")`

: coerce method from`table`

to`markovchain`

- coerce
`signature(from = "msm", to = "markovchain")`

: coerce method from`msm`

to`markovchain`

- coerce
`signature(from = "msm.est", to = "markovchain")`

: coerce method from`msm.est`

(but only from a Probability Matrix) to`markovchain`

- coerce
`signature(from = "etm", to = "markovchain")`

: coerce method from`etm`

to`markovchain`

- coerce
`signature(from = "markovchain", to = "igraph")`

: coercing to`igraph`

objects- coerce
`signature(from = "markovchain", to = "matrix")`

: coercing to`matrix`

objects- coerce
`signature(from = "matrix", to = "markovchain")`

: coercing to`markovchain`

objects from`matrix`

one- dim
`signature(x = "markovchain")`

: method to get the size- names
`signature(x = "markovchain")`

: method to get the names of states- names<-
`signature(x = "markovchain", value = "character")`

: method to set the names of states- initialize
`signature(.Object = "markovchain")`

: initialize method- plot
`signature(x = "markovchain", y = "missing")`

: plot method for`markovchain`

objects- predict
`signature(object = "markovchain")`

: predict method`signature(x = "markovchain")`

: print method.- show
`signature(object = "markovchain")`

: show method.- states
`signature(object = "markovchain")`

: returns the names of states (as`names`

.- steadyStates
`signature(object = "markovchain")`

: method to get the steady vector.- summary
`signature(object = "markovchain")`

: method to summarize structure of the markov chain- transientStates
`signature(object = "markovchain")`

: method to get the transient states.- t
`signature(x = "markovchain")`

: transpose matrix- transitionProbability
`signature(object = "markovchain")`

: transition probability

Validation method is used to assess whether either columns or rows totals to one. Rounding is used up to 5th decimal. If state names are not properly defined for a probability `matrix`

, coercing to `markovhcain`

object leads to overriding states name with artificial "s1", "s2", ... sequence

`markovchain`

object are written in S4 Classes.

Giorgio Spedicato

A First Course in Probability (8th Edition), Sheldon Ross, Prentice Hall 2010

`markovchainSequence`

,`markovchainFit`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ```
#show markovchain definition
showClass("markovchain")
#create a simple Markov chain
transMatr<-matrix(c(0.4,0.6,.3,.7),nrow=2,byrow=TRUE)
simpleMc<-new("markovchain", states=c("a","b"),
transitionMatrix=transMatr,
name="simpleMc")
#power
simpleMc^4
#some methods
steadyStates(simpleMc)
absorbingStates(simpleMc)
simpleMc[2,1]
t(simpleMc)
is.irreducible(simpleMc)
#conditional distributions
conditionalDistribution(simpleMc, "b")
#example for predict method
sequence<-c("a", "b", "a", "a", "a", "a", "b", "a", "b", "a", "b", "a", "a", "b", "b", "b", "a")
mcFit<-markovchainFit(data=sequence)
predict(mcFit$estimate, newdata="b",n.ahead=3)
#direct conversion
myMc<-as(transMatr, "markovchain")
#example of summary
summary(simpleMc)
## Not run: plot(simpleMc)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

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