mssplot: Interactive Stacked Plots of Multichannel Sequences and/or...

View source: R/mssplot.R

mssplotR Documentation

Interactive Stacked Plots of Multichannel Sequences and/or Most Probable Paths for Mixture Hidden Markov Models

Description

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).

Usage

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,
  ...
)

Arguments

x

Mixture hidden Markov model object of class mhmm.

ask

If TRUE and which.plots is NULL, plot.mhmm operates in interactive mode, via menu. Defaults to FALSE.

which.plots

The number(s) of the requested model(s) as an integer vector. The default NULL produces all plots.

hidden.paths

Output from the hidden_paths function. The default value NULL computes hidden paths automatically, if needed.

plots

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.

type

The type of the plot. Available types are "I" for index plots and "d" for state distribution plots (the default). See seqplot for details.

tlim

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.

sortv

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".

sort.channel

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).

dist.method

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.

with.missing

Controls whether missing states are included in state distribution plots (type = "d"). The default is FALSE.

missing.color

Alternative color for representing missing values in the sequences. By default, this color is taken from the missing.color attribute of the sequence object.

title

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.

title.n

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.

cex.title

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.

title.pos

Controls the position of the main titles of the plots. The default value is 1. Values greater than 1 will place the title higher.

with.legend

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.

ncol.legend

(A vector of) the number of columns for the legend(s). The default "auto" creates one column for each legend.

with.missing.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.

legend.prop

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.

cex.legend

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.

hidden.states.colors

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.

hidden.states.labels

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.

xaxis

Controls whether an x-axis is plotted below the plot at the bottom. The default value is TRUE.

xlab

An optional label for the x-axis. If set to NA, no label is drawn.

xtlab

Optional labels for the x-axis tick labels. If unspecified, the column names of the seqdata sequence object are used (see seqdef).

xlab.pos

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.

ylab

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.

hidden.states.title

Optional label for the hidden state plot (in the y-axis). The default is "Hidden states".

yaxis

Controls whether or not to plot the y-axis. The default is FALSE.

ylab.pos

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.

cex.lab

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.

cex.axis

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.

respect_void

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.

See Also

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.

Examples

# 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)
}


seqHMM documentation built on July 9, 2023, 6:35 p.m.