Reorders layout observations based on specific statistics.
align_order2(
stat,
...,
reverse = FALSE,
strict = TRUE,
data = NULL,
active = NULL
)
A statistical function which accepts a data and returns the
statistic, which we'll call order2()
to extract the ordering information.
<dyn-dots> Additional arguments passed to
function provided in stat
argument.
A boolean value. Should the sort order be in reverse?
A boolean value indicates whether the order should be strict.
If previous groups has been established, and strict is FALSE
, this will
reorder the observations in each group.
A matrix
, data frame
, or atomic vector used as the input for
the stat
function. Alternatively, you can specify a function
(including
purrr-like lambda syntax) that will be applied to the layout matrix,
transforming it as necessary for statistic calculations. By default, it will
inherit from the layout matrix.
A active()
object that defines the context settings when
added to a layout.
It is important to note that we consider rows as observations, meaning
vec_size(data)
/NROW(data)
must match the number of observations along the
axis used for alignment (x-axis for a vertical stack layout, y-axis for a
horizontal stack layout).
The align_order2()
function differs from align_order()
in that the
weights
argument in align_order()
must return atomic weights for each
observation. In contrast, the stat
argument in align_order2()
can
return more complex structures, such as hclust or
dendrogram, among others.
Typically, you can achieve the functionality of align_order2()
using
align_order()
by manually extracting the ordering information from
the statistic.
order2()
ggheatmap(matrix(rnorm(81), nrow = 9)) +
anno_left() +
align_order2(hclust2)
Run the code above in your browser using DataLab