This function aligns observations within the layout according to a hierarchical clustering tree, enabling reordering or grouping of elements based on clustering results.
align_hclust(
distance = "euclidean",
method = "complete",
use_missing = "pairwise.complete.obs",
reorder_dendrogram = FALSE,
reorder_group = FALSE,
k = NULL,
h = NULL,
cutree = NULL,
data = NULL,
active = NULL
)
A string of distance measure to be used. This must be one of
"euclidean"
, "maximum"
, "manhattan"
, "canberra"
, "binary"
or
"minkowski"
. Correlation coefficient can be also used, including
"pearson"
, "spearman"
or "kendall"
. In this way, 1 - cor
will be used
as the distance. In addition, you can also provide a dist
object directly or a function return a dist
object. Use
NULL
, if you don't want to calculate the distance.
A string of the agglomeration method to be used. This should be
(an unambiguous abbreviation of) one of "ward.D"
, "ward.D2"
, "single"
,
"complete"
, "average"
(= UPGMA), "mcquitty"
(= WPGMA), "median"
(=
WPGMC) or "centroid"
(= UPGMC). You can also provide a function which
accepts the calculated distance (or the input matrix if distance
is NULL
)
and returns a hclust
object. Alternative, you can supply
an object which can be coerced to hclust
.
An optional character string giving a method for computing
covariances in the presence of missing values. This must be (an abbreviation
of) one of the strings "everything"
, "all.obs"
, "complete.obs"
,
"na.or.complete"
, or "pairwise.complete.obs"
. Only used when distance
is a correlation coefficient string.
A single boolean value indicating whether to
reorder the dendrogram based on the means. Alternatively, you can provide a
custom function that accepts an hclust
object and the data
used to generate the tree, returning either an hclust
or
dendrogram
object. Default is FALSE
.
A single boolean value, indicates whether we should do
Hierarchical Clustering between groups, only used when previous groups have
been established. Default: FALSE
.
An integer scalar indicates the desired number of groups.
A numeric scalar indicates heights where the tree should be cut.
A function used to cut the hclust
tree. It
should accept four arguments: the hclust
tree object,
distance
(only applicable when method
is a string or a function for
performing hierarchical clustering), k
(the number of clusters), and h
(the height at which to cut the tree). By default,
cutree()
is used.
A matrix-like object. By default, it inherits 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).
hclust2()
# align_hclust won't add a dendrogram
ggheatmap(matrix(rnorm(81), nrow = 9)) +
anno_top() +
align_hclust(k = 3L)
Run the code above in your browser using DataLab