R/RcppExports.R, R/probabilistic.R
    structuralAnalysis.RdThese functions return absorbing and transient states of the markovchain objects.
period(object)
communicatingClasses(object)
recurrentClasses(object)
transientClasses(object)
transientStates(object)
recurrentStates(object)
absorbingStates(object)
canonicForm(object)periodreturns a integer number corresponding to the periodicity of the Markov chain (if it is irreducible)
absorbingStatesreturns a character vector with the names of the absorbing states in the Markov chain
communicatingClassesreturns a list in which each slot contains the names of the states that are in that communicating class
recurrentClassesanalogously to communicatingClasses, but with
    recurrent classes
transientClassesanalogously to communicatingClasses, but with
    transient classes
transientStatesreturns a character vector with all the transient states for the Markov chain
recurrentStatesreturns a character vector with all the recurrent states for the Markov chain
canonicFormreturns the Markov chain reordered by a permutation of states so that we have blocks submatrices for each of the recurrent classes and a collection of rows in the end for the transient states
Feres, Matlab listing for markov chain.
statesNames <- c("a", "b", "c")
mc <- new("markovchain", states = statesNames, transitionMatrix =
          matrix(c(0.2, 0.5, 0.3,
                   0,   1,   0,
                   0.1, 0.8, 0.1), nrow = 3, byrow = TRUE,
                 dimnames = list(statesNames, statesNames))
         )
communicatingClasses(mc)
#> [[1]]
#> [1] "a" "c"
#> 
#> [[2]]
#> [1] "b"
#> 
recurrentClasses(mc)
#> [[1]]
#> [1] "b"
#> 
recurrentClasses(mc)
#> [[1]]
#> [1] "b"
#> 
absorbingStates(mc)
#> [1] "b"
transientStates(mc)
#> [1] "a" "c"
recurrentStates(mc)
#> [1] "b"
canonicForm(mc)
#> Unnamed Markov chain 
#>  A  3 - dimensional discrete Markov Chain defined by the following states: 
#>  b, a, c 
#>  The transition matrix  (by rows)  is defined as follows: 
#>     b   a   c
#> b 1.0 0.0 0.0
#> a 0.5 0.2 0.3
#> c 0.8 0.1 0.1
#> 
# periodicity analysis
A <- matrix(c(0, 1, 0, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0, 0.5, 0, 0, 1, 0), 
            nrow = 4, ncol = 4, byrow = TRUE)
mcA <- new("markovchain", states = c("a", "b", "c", "d"), 
          transitionMatrix = A,
          name = "A")
is.irreducible(mcA) #true
#> [1] TRUE
period(mcA) #2
#> [1] 2
# periodicity analysis
B <- matrix(c(0, 0, 1/2, 1/4, 1/4, 0, 0,
                   0, 0, 1/3, 0, 2/3, 0, 0,
                   0, 0, 0, 0, 0, 1/3, 2/3,
                   0, 0, 0, 0, 0, 1/2, 1/2,
                   0, 0, 0, 0, 0, 3/4, 1/4,
                   1/2, 1/2, 0, 0, 0, 0, 0,
                   1/4, 3/4, 0, 0, 0, 0, 0), byrow = TRUE, ncol = 7)
mcB <- new("markovchain", transitionMatrix = B)
period(mcB)
#> [1] 3