Horizon Transition Probabilities
Functions for creating and working with horizon (sequence) transition probability matrices.
hzTransitionProbabilities(x, name, loopTerminalStates = FALSE)
x |
A |
name |
A horizon level attribute in |
loopTerminalStates |
should terminal states loop back to themselves?
This is useful when the transition probability matrix will be used to
initialize a |
See the following tutorials for some ideas:
http://ncss-tech.github.io/AQP/aqp/hz-transition-probabilities.html
http://ncss-tech.github.io/AQP/aqp/series-color-TP-graph.html
The function hzTransitionProbabilities
returns a square
matrix of transition probabilities. See examples.
The function genhzTableToAdjMat
returns a square adjacency matrix.
See examples.
The function mostLikelyHzSequence
returns the most likely sequence of
horizons, given a markovchain
object initialized from horizon
transition probabilities and an initial state, t0
. See examples.
These functions are still experimental and subject to change.
D.E. Beaudette
data(sp4) depths(sp4) <- id ~ top + bottom # horizon transition probabilities: row -> col transitions (tp <- hzTransitionProbabilities(sp4, 'name')) ## Not run: ## plot TP matrix with functions from sharpshootR package library(sharpshootR) par(mar=c(0,0,0,0), mfcol=c(1,2)) plot(sp4) plotSoilRelationGraph(tp, graph.mode = 'directed', edge.arrow.size=0.5) ## demonstrate genhzTableToAdjMat usage data(loafercreek, package='soilDB') # convert contingency table -> adj matrix / TP matrix tab <- table(loafercreek$hzname, loafercreek$genhz) m <- genhzTableToAdjMat(tab) # plot par(mar=c(0,0,0,0), mfcol=c(1,1)) plotSoilRelationGraph(m, graph.mode = 'directed', edge.arrow.size=0.5) ## demonstrate markovchain integration library(markovchain) tp.loops <- hzTransitionProbabilities(sp4, 'name', loopTerminalStates = TRUE) # init new markovchain from TP matrix mc <- new("markovchain", states=dimnames(tp.loops)[[1]], transitionMatrix = tp.loops) # simple plot plot(mc, edge.arrow.size=0.5) # check absorbing states absorbingStates(mc) # steady-state: steadyStates(mc) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.