Description Objects from the Class Slots Methods Warning Note Author(s) References See Also Examples

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 = "sparseMatrix", to = "markovchain")`

: coerce method from`sparseMatrix`

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 = "markovchain", to = "sparseMatrix")`

: coercing to`sparseMatrix`

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.- sort
`signature(x = "markovchain", decreasing=FALSE)`

: sorting the transition matrix.- 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. In addition, operator overloading has been applied for *+,*,^,==,!=* operators.

`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)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.