Function mssplot
plots stacked sequence plots of observation sequences
and/or most probable hidden state paths for each model of the mhmm
object (model chosen according to the most probable path).
mssplot(
x,
ask = FALSE,
which.plots = NULL,
hidden.paths = NULL,
plots = "obs",
type = "d",
tlim = 0,
sortv = NULL,
sort.channel = 1,
dist.method = "OM",
with.missing = FALSE,
missing.color = NULL,
title = NA,
title.n = TRUE,
cex.title = 1,
title.pos = 1,
with.legend = "auto",
ncol.legend = "auto",
with.missing.legend = "auto",
legend.prop = 0.3,
cex.legend = 1,
hidden.states.colors = "auto",
hidden.states.labels = "auto",
xaxis = TRUE,
xlab = NA,
xtlab = NULL,
xlab.pos = 1,
ylab = "auto",
hidden.states.title = "Hidden states",
yaxis = FALSE,
ylab.pos = "auto",
cex.lab = 1,
cex.axis = 1,
respect_void = TRUE,
...
)
Mixture hidden Markov model object of class mhmm
.
If TRUE
and which.plots
is NULL, plot.mhmm
operates in interactive mode, via menu
. Defaults to FALSE
.
The number(s) of the requested model(s) as an integer vector. The default NULL
produces all plots.
Output from the hidden_paths
function. The
default value NULL
computes hidden paths automatically, if needed.
What to plot. One of "obs"
for observations (the default),
"hidden.paths"
for most probable paths of hidden states,
or "both"
for observations and hidden paths together.
The type of the plot. Available types are "I"
for index
plots and "d"
for state distribution plots (the default). See
seqplot
for details.
Indexes of the subjects to be plotted (the default is 0,
i.e. all subjects are plotted). For example, tlim = 1:10
plots
the first ten subjects in data.
A sorting variable or a sort method (one of "from.start"
,
"from.end"
, "mds.obs"
, or "mds.hidden"
) for
type = "I"
. The value "mds.hidden"
is only available when
which = "both"
and which = "hidden.paths"
. Options "mds.obs"
and
"mds.hidden"
automatically arrange the sequences according to the
scores of multidimensional scaling (using cmdscale
) for the
observed data or hidden states paths.
MDS scores are computed from distances/dissimilarities using a metric
defined in argument dist.method
. See plot.stslist
for
more details on "from.start"
and "from.end"
.
The number of the channel according to which the
"from.start"
or "from.end"
sorting is done. Sorting according
to hidden states is called with value 0. The default value is 1 (the first
channel).
The metric to be used for computing the distances of the
sequences if multidimensional scaling is used for sorting. One of "OM"
(optimal matching, the default), "LCP" (longest common prefix), "RLCP"
(reversed LCP, i.e. longest common suffix), "LCS" (longest common
subsequence), "HAM" (Hamming distance), and "DHD" (dynamic Hamming distance).
Transition rates are used for defining substitution costs if needed. See
seqdef
for more information on the metrics.
Controls whether missing states are included in state
distribution plots (type = "d"
). The default is FALSE
.
Alternative color for representing missing values
in the sequences. By default, this color is taken from the missing.color
attribute of the sequence object.
A vector of main titles for the graphics. The default is NA
: if
title.n = TRUE
, the name of the cluster and the number of subjects is plotted.
FALSE
prints no titles, even when title.n = TRUE
.
Controls whether the number of subjects is printed in the main
titles of the plots. The default is TRUE
: n is plotted if title
is anything but FALSE
.
Expansion factor for setting the size of the font for the main titles. The default value is 1. Values lesser than 1 will reduce the size of the font, values greater than 1 will increase the size.
Controls the position of the main titles of the plots. The default value is 1. Values greater than 1 will place the title higher.
Defines if and where the legend for the states is plotted.
The default value "auto"
(equivalent to TRUE
and
"right"
) creates separate legends for each requested plot and
positiones them on the right-hand side of the plot. Other possible values
are "bottom"
,
"right.combined"
, and "bottom.combined"
, of which the last
two create a combined legend in the selected position. FALSE
prints no legend.
(A vector of) the number of columns for the legend(s). The
default "auto"
creates one column for each legend.
If set to "auto"
(the default), a legend
for the missing state is added automatically if one or more of the
sequences in the data/channel contains missing states and type = "I"
.
If type = "d"
missing states are omitted from the legends unless
with.missing = TRUE
. With the value TRUE
a
legend for the missing state is added in any case; equivalently
FALSE
omits the legend for the missing state.
Sets the proportion of the graphic area used for plotting
the legend when with.legend
is not FALSE
. The default value is
0.3. Takes values from 0 to 1.
Expansion factor for setting the size of the font for the labels in the legend. The default value is 1. Values lesser than 1 will reduce the size of the font, values greater than 1 will increase the size.
A vector of colors assigned to hidden states. The default
value "auto"
uses the colors assigned to the stslist
object (created
with seqdef
) if hidden.paths
is given; otherwise colors from
colorpalette
are automatically used.
Labels for the hidden states. The default value
"auto"
uses the names provided in x$state_names
if x
is
an hmm
object; otherwise the number of the hidden state.
Controls whether an x-axis is plotted below the plot at the
bottom. The default value is TRUE
.
An optional label for the x-axis. If set to NA
, no label
is drawn.
Optional labels for the x-axis tick labels. If unspecified, the
column names of the seqdata
sequence object are used (see
seqdef
).
Controls the position of the x-axis label. The default value is 1. Values greater than 1 will place the label further away from the plot.
Labels for the channels shown as labels for y-axes.
A vector of names for each channel
(observations). The default value "auto"
uses the names provided in
x$channel_names
if x
is an hmm
object; otherwise the
names of the list in x
if given, or the
number of the channel if names are not given. FALSE
prints no labels.
Optional label for the hidden state plot (in the
y-axis). The default is "Hidden states"
.
Controls whether or not to plot the y-axis. The default is FALSE
.
Controls the position of the y axis labels (labels for
channels and/or hidden states). Either "auto"
or a numerical vector
indicating how far away from the plots the titles are positioned. The
default value "auto"
positions all titles on line 1.
Shorter vectors are recycled.
Expansion factor for setting the size of the font for the axis labels. The default value is 1. Values lesser than 1 will reduce the size of the font, values greater than 1 will increase the size.
Expansion factor for setting the size of the font for the x-axis tick labels. The default value is 1. Values lesser than 1 will reduce the size of the font, values greater than 1 will increase the size.
If TRUE
(default), states at the time points
corresponding to TraMineR's void in the observed sequences are set to void
in the hidden state sequences as well.
Other arguments to be passed on to
seqplot
.
build_mhmm
and fit_model
for building and
fitting mixture hidden Markov models, hidden_paths
for
computing the most probable paths (Viterbi paths) of hidden states,
plot.mhmm
for plotting mhmm
objects as directed graphs, and
colorpalette
for default colors.
# Loading mixture hidden Markov model (mhmm object)
# of the biofam data
data("mhmm_biofam")
# Plotting the first cluster only
mssplot(mhmm_biofam, which.plots = 1)
if (interactive()) {
# Interactive plot
mssplot(mhmm_biofam)
}
Run the code above in your browser using DataLab