Description Usage Arguments Details Value Note Author(s) See Also Examples
Functions for creating and working with horizon (sequence) transition probability matrices.
1 2 3 4 5 | hzTransitionProbabilities(x, name, loopTerminalStates = FALSE)
genhzTableToAdjMat(tab)
mostLikelyHzSequence(mc, t0, maxIterations=10)
|
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 |
tab |
A cross-tabulation relating original horizon designations to new, generalized horizon designations. |
mc |
A |
t0 |
Time-zero: a label describing an initial state within a |
maxIterations |
the maximum number of iterations when search for the most-likely horizon sequence |
Details and related tutorial pending...
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
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.