| hzTransitionProbabilities {aqp} | R Documentation |
Horizon Transition Probabilities
Description
Functions for creating and working with horizon (sequence) transition probability matrices.
See the following tutorials for some ideas:
Usage
hzTransitionProbabilities(
x,
name = GHL(x, required = TRUE),
loopTerminalStates = FALSE
)
mostLikelyHzSequence(mc, t0, maxIterations = 10)
Arguments
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 |
mc |
Passed to |
t0 |
Passed to |
maxIterations |
Maximum number of iterations. Default: |
Value
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.
Note
These functions are still experimental and subject to change.
Author(s)
D.E. Beaudette
See Also
Examples
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))
plotSPC(sp4, name = 'name', name.style = 'center-center')
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)