Description Usage Arguments Details Value Author(s) References See Also Examples
A parallel coordinate plot which maps each element in the probability transition matrix (of any order) as a line, where each line is weighted by probability. Users can apply filters to emphasize the most (or least) probable state sequences overall, or by initial state. Various color palettes using the Hue-Chroma-Luminance color scheme can be easily selected by the user. Input is either an object of class matrix
, array
, depmix.fitted
, or a list
of class msm
, hmm
or of class dthmm
.
1 2 3 4 5 6 7 8 9 | ## S3 method for classes 'matrix', 'array',
## 'depmix.fitted', 'dthmm', 'hmm', and 'msm'
trmatplot ( d, seed = NULL, rowconstraint = TRUE, morder = 1,
cspal = NULL, cpal = NULL, main = NULL,
xlab = NULL, ylab = NULL, ylim = NULL, xtlab = NULL, ytlab = NULL,
pfilter = NULL, shade.col = "grey80", num = NULL,
hide.col = NULL, lorder = NULL, plot = TRUE,
verbose = FALSE, ...)
|
d |
Object to be plotted. A transition matrix of probabilities. Can be of any order. An object of class |
seed |
A single value, interpreted as an integer, or |
rowconstraint |
Logical. Checks if the row constraint is satisfied, i.e. the sum of each row of the transition probability matrix equals one. Default is |
morder |
Numeric. The order of the probability transition matrix, |
cspal |
A color palette that can be specified as one of: |
cpal |
Color palette vector when coloring probability sequences. Cannot specify both |
main |
Title for the graphic. Default is Probability Transition Matrix. |
xlab |
Label for the x axis. Default is Time. |
ylab |
Label for the y axis. Default is States. |
ylim |
Numeric vector of length 2 giving the y coordinates range. |
xtlab |
Labels for the x axis ticks. Default is time (t, t+1,...). |
ytlab |
Labels for the y axis ticks. |
pfilter |
Probability filter. Can be specified as one of |
shade.col |
The color for sequences shaded out using the |
num |
Numeric. The number of sequences to be highlighted, a whole number from 1 to |
hide.col |
The color for sequences shaded out using the |
lorder |
Line order. Either |
plot |
Logical. Should the object be plotted. Default is |
verbose |
Logical. Reports extra information on progress. Default is |
... |
Additional arguments, such as graphical parameters, to be passed on. See |
The object d
to be plotted, is a probability transition matrix that can be of class matrix
, array
, depmix.fitted
, dthmm
, hmm
, msm
.
If the probability transition matrix is the output of packages implemented using S3
methods and classes, such as msm, HiddenMarkov, HMM, or seqHMM it is a matrix
which is element of a list
.
More specifically, using the package HMM, the function initHMM
returns a list
containing the element transProbs
with the probability transition matrix.
Within the HiddenMarkov, dthmm
returns a list
of class dthmm
with the element Pi
which is a probability transition matrix, either user-defined or estimated.
Similarly, the seqHMM functions build_mm
and build_hmm
return a list
of class hmm
containing the element transition_probs
with the estimated probability transition matrix.
The package msm proposes the pmatrix.msm
and pmatrix.piecewise.msm
to extract the probability transition matrix from a fitted multi-state model (a list
of class msm
), as returned by msm
. If the object d
to be plotted is an object of msm
, the function pmatrix.msm
is used with the default settings to extract the probability transition matrix.
In the case of depmixS4, which uses S4
classes, a probability transition matrix may be obtained depending on the type of model computed using depmix
followed by fit
and is embedded in an object of class depmix.fitted
.
Setting a seed
allows the graphic to be replicated.
If morder > 1
, in other words, the order of the probability transition matrix d
is of order greater than one, then d
must be specified in reduced form. Structural zeroes are not accepted.
The pfilter
argument serves to highlight probability sequences that are either most probable while shading out those that are less probable in shade.col
and vice-versa.
The four options for pfilter
are described below, and are illustrated in Examples.
"smax"
For each initial state the most probable next state is highlighed.
"smin"
For each initial state the least probable next state is highlighed.
"tmax"
The sequence of states with the highest probability overall is highlighed. To highlight the n most probable sequences of states, set num = n
.
"tmin"
The sequence of states with the lowest probability overall is highlighed. To highlight the n least probable sequences of states, set num = n
.
The filter
and hide.col
arguments are inherent in and may be passed on to seqpcplot
.
The filter
argument serves to specify filters to gray less interesting patterns.
The filtered-out patterns are displayed in the hide.col
color.
The filter argument expects a list with at least elements type
and value
.
Most relevant within the context of probabilities is type = "sequence"
, which highlights the specific pattern.
See Examples.
trmatplot
returns an object of class trmatplot
. Some of the arguments are inherent in par
and seqpcplot
.
Pauline Adamopoulou
Buergin, R. and G. Ritschard (2014), "A decorated parallel coordinate plot for categorical longitudinal data", The American Statistician. Vol. 68(2), pp. 98-103.
Zeileis, A.; Hornik, K. and P. Murrell (2009), "Escaping RGBland: Selecting Colors for Statistical Graphics", Computational Statistics & Data Analysis. Vol. 53, pp. 3259-3270.
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | ##########################################
# Plotting a probability transition matrix
##########################################
trMat<-matrix(c(0.1, 0.05, 0.05, 0.80,
0.06, 0.02, 0.03, 0.89,
0.03, 0.01, 0.01, 0.95,
0, 0, 0, 1), nrow = 4, ncol = 4, byrow = TRUE)
trmatplot(trMat)
#--- Setting a seed so that the graphic can be replicated
trmatplot(trMat, seed = 2)
#--- Adjusting line width
trmatplot(trMat, seed = 2, lwd = 0.8)
#--- Defining a second order probability transition matrix as an array
trMatArray <- array(c(
0.30, 0.70,
0.65, 0.35,
0.05, 0.95,
0.99, 0.01), dim = c(1, 2, 4))
#--- Plotting with user-defined colors
trmatplot(trMatArray, seed = 3, morder = 2, cpal = c("grey40", "grey70"))
###########################################################
# cspal: ready-to-use color palettes using colorspace
###########################################################
#--- Color palette "dynamic"
trmatplot(trMat, seed = 2, cspal = "dynamic")
#--- Color palette "harmonic"
trmatplot(trMat, seed = 2, cspal = "harmonic")
#--- Color palette "cold"
trmatplot(trMat, seed = 2, cspal = "cold")
#--- Color palette "warm"
trmatplot(trMat, seed = 2, cspal = "warm")
#--- Color palette "heat"
trmatplot(trMat, seed = 2, cspal = "heat")
#--- Color palette "terrain"
trmatplot(trMat, seed = 2, cspal = "terrain")
###########################################################
# pfilter: Filtering out most (or least) probable sequences
###########################################################
#--- The most probable sequence given a state
trmatplot(trMat, seed = 2, pfilter = "smax")
#--- The least probable sequence given a state
trmatplot(trMat, seed = 2, pfilter = "smin")
#--- The two most probable sequnces
trmatplot(trMat, seed = 2, pfilter = "tmax", num = 2 )
#--- The ten least probable sequences
trmatplot(trMat, seed = 2, pfilter = "tmin", num = 10 )
######################################################
# filter: Highlighting a specific sequence of interest
######################################################
#--- Highlight the probability that a sequence is initially in state 1 and then in state 4
trmatplot(trMat, seed = 2, filter = list(type = "sequence", value = "(1)-(4)"))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.