| HierarchicalClustering {sharp} | R Documentation |
(Weighted) hierarchical clustering
Description
Runs hierarchical clustering using implementation from
hclust. If Lambda is provided, clustering is
applied on the weighted distance matrix calculated using the
cosa2 algorithm. Otherwise, distances are calculated
using dist. This function is not using stability.
Usage
HierarchicalClustering(
xdata,
nc = NULL,
Lambda = NULL,
distance = "euclidean",
linkage = "complete",
...
)
Arguments
xdata |
data matrix with observations as rows and variables as columns. |
nc |
matrix of parameters controlling the number of clusters in the
underlying algorithm specified in |
Lambda |
vector of penalty parameters (see argument |
distance |
character string indicating the type of distance to use. If
|
linkage |
character string indicating the type of linkage used in
hierarchical clustering to define the stable clusters. Possible values
include |
... |
additional parameters passed to |
Value
A list with:
comembership |
an array of binary and symmetric co-membership matrices. |
weights |
a matrix of median weights by feature. |
References
Kampert MM, Meulman JJ, Friedman JH (2017). “rCOSA: A Software Package for Clustering Objects on Subsets of Attributes.” Journal of Classification, 34(3), 514–547. doi:10.1007/s00357-017-9240-z.
Friedman JH, Meulman JJ (2004). “Clustering objects on subsets of attributes (with discussion).” Journal of the Royal Statistical Society: Series B (Statistical Methodology), 66(4), 815-849. doi:10.1111/j.1467-9868.2004.02059.x, https://rss.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1467-9868.2004.02059.x, https://rss.onlinelibrary.wiley.com/doi/abs/10.1111/j.1467-9868.2004.02059.x.
See Also
Other clustering algorithms:
DBSCANClustering(),
GMMClustering(),
KMeansClustering(),
PAMClustering()
Examples
# Data simulation
set.seed(1)
simul <- SimulateClustering(n = c(10, 10), pk = 50)
# Hierarchical clustering
myhclust <- HierarchicalClustering(
xdata = simul$data,
nc = seq_len(20)
)
# Weighted Hierarchical clustering (using COSA)
if (requireNamespace("rCOSA", quietly = TRUE)) {
myhclust <- HierarchicalClustering(
xdata = simul$data,
weighted = TRUE,
nc = seq_len(20),
Lambda = c(0.2, 0.5)
)
}