Creates a “structure plot” (stacked bar plot) of posterior means for factors \(f_{jk}\) or loadings \(\ell_{ik}\). Different “topics” or components (that is, the different factor/loadings pairs, as specified by kset) are represented by different colors. Values are normalized so that the maximum absolute value for each factor \(f_{\cdot k}\) or set of loadings \(\ell_{\cdot k}\) is equal to 1 and then stacked (see ldf.flash). Note that structure plots were designed for nonnegative loadings or “memberships”; if posterior means are not nonnegative then a different type of plot should be used (e.g., flash_plot_heatmap). By default, a 1-d embedding is used to arrange the rows \(i\) or columns \(j\). This step is usually essential to creating a readable structure plot; for details, see structure_plot.

flash_plot_structure(
  fl,
  order_by_pve = FALSE,
  kset = NULL,
  pm_which = c("factors", "loadings"),
  pm_subset = NULL,
  pm_groups = NULL,
  pm_colors = NULL,
  gap = 1,
  ...
)

Arguments

fl

An object inheriting from class flash.

order_by_pve

If order_by_pve = TRUE, then factor/loadings pairs will be ordered according to proportion of variance explained, from highest to lowest. (By default, they are plotted in the same order as kset; or, if kset is NULL, then they are plotted in the same order as they are found in fl.)

kset

A vector of integers specifying the factor/loadings pairs to be plotted. If order_by_pve = FALSE, then kset also specifies the order in which they are to be plotted.

pm_which

Whether to plot loadings \(L\) or factors \(F\).

pm_subset

A vector of row indices \(i\) or column indices \(j\) (depending on the argument to pm_which) specifying which values \(\ell_{i \cdot}\) or \(f_{j \cdot}\) are to be shown. If the dataset has row or column names, then names rather than indices may be specified. If pm_subset = NULL, then all values will be plotted.

pm_groups

A vector specifying the group to which each row of the data \(y_{i \cdot}\) or column \(y_{\cdot j}\) belongs (groups may be numeric indices or strings). A group must be provided for each plotted row \(i\) or column \(j\), so that the length of pm_groups is exactly equal to the number of rows or columns in the full dataset or, if pm_subset is specified, in the subsetted dataset.

pm_colors

The colors of the “topics” or components (factor/loadings pairs).

gap

The horizontal spacing between groups. Ignored if pm_groups is not provided.

...

Additional parameters to be passed to structure_plot.

Value

A ggplot object.