Description Usage Arguments Details Value See Also Examples
Calculates the inconsistency of a 'hclust' object and splits the data into clusters using a inconsistency-based cut-off.
1 | inconsistent(hclust_obj, cut_point = NULL)
|
hclust_obj |
the input data - see details. |
cut_point |
a value of inconsistency at which to split the clusters into groups. |
This function calcualtes the inconsistency of a hclust
object.
This provides the same functionality as the inconsistent
function in Matlab and the 'scipy' library in Python.
The inconsistency can be calculated as
\frac{h_{i} - \bar{h}}{s}
where h_{i} is the height of the given subtree; and \bar{h} and s are respectively the mean and standard deviation of the height of the subtree and any non-leaf subtrees. Note that the mean and standard deviationare calculated over 1, 2, or 3 heights depending on whether each subtree has 0, 1, or 2 non-leaf subtrees (with the resulting degenerecies). By definition, a subtree where both of its subtrees are leaves has an inconsistency of 0.
The original object of class hclust
, with additional components containing the calculated inconsistency at each merge point and,
if cut_point
is specified, the resulting clusters.
inconsistency |
The calculated inconsistency at each merge point. |
clusters |
A data frame with 2 variables: the label and the assigned cluster. (Only present if a |
1 2 3 4 5 6 7 8 9 10 11 12 | hc <- hclust(dist(USArrests), "ave")
hc_obj <- inconsistent(hc, 1)
# the first 6 merges all involve leaves, so the inconsistency is 0.
head(with(hc_obj, cbind(merge, height, inconsistency)))
# the last 6 merges are all non-leaves, so the inconsistency can be calculated
tail(with(hc_obj, cbind(merge, height, inconsistency)))
# Each element of the tree is assigned to a cluster.
head(hc_obj$clusters)
table(hc_obj$clusters$cluster)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.