| coerce-methods {apcluster} | R Documentation |
Coercion of cluster hierarchies
Description
Functions for coercing clustering object to hclust and dendrogram objects
Usage
## S4 method for signature 'AggExResult'
as.hclust(x, base=0.05)
## S4 method for signature 'ExClust'
as.hclust(x, base=0.05, ...)
## S4 method for signature 'AggExResult'
as.dendrogram(object, base=0.05, useNames=TRUE)
## S4 method for signature 'ExClust'
as.dendrogram(object, base=0.05, useNames=TRUE, ...)
Arguments
x |
a clustering result object of class
|
object |
a clustering result object of class
|
base |
fraction of height used for the very first join; defaults to 0.05, i.e. the first join appears at 5% of the total height of the dendrogram (see details below). |
useNames |
if |
... |
all other arguments are passed on to
|
Details
If called for an AggExResult object,
as.hclust creates an hclust object.
The heights are transformed to the interval from base (height
of lowest join) to 1 (height of highest join).
If called for an ExClust or
APResult object, aggExCluster is
called internally to create a cluster hierarchy first. This is only
possible if the pairwise similarities are included in the sim
slot of x (see aggExCluster on how to ensure
this).
If x is an AggExResult object obtained by
clustering an entire data set, as.hclust produces a complete
hierarchy. If, however, x is an ExClust (or
APResult) object or an
AggExResult obtained by running
aggExCluster on an ExClust or
APResult object, then as.hclust produces
a hierarchy of clusters, not of samples.
If called for an AggExResult object,
as.dendrogram creates an
dendrogram object.
Analogously to as.hclust, the heights are transformed to the
interval ranging from base (height
of lowest join) to 1 (height of highest join). So, any information
about heights of merges is lost. If the original join heights are
relevant, call plot on the original
AggExResult object directly without coercing it
to a dendrogram object first.
If called for an ExClust or
APResult object, aggExCluster is
called first to create a cluster hierarchy. Again this is only
possible if the pairwise similarities are included in the sim
slot of object.
If object is an AggExResult object obtained by
clustering an entire data set, as.dendrogram produces a complete
dendrogram. If object is an ExClust (or
APResult) object or an
AggExResult obtained by previously running
aggExCluster on an ExClust or
APResult object, then as.dendrogram produces
a complete dendrogram of all samples, too, but with the difference
that entire clusters of the previous ExClust or
APResult object are not further split up
hierarchically.
Consequently, if x is not a complete cluster hierarchy, but a
hierarchy of clusters, as.dendrogram(as.hclust(x)) produces a
dendrogram of clusters, whereas as.dendrogram(x) in any case
produces a dendrogram of samples (with the special property mentioned
above).
Value
see details above
Author(s)
Ulrich Bodenhofer, Andreas Kothmeier, and Johannes Palme
References
https://github.com/UBod/apcluster
Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. Bioinformatics 27, 2463-2464. DOI: doi:10.1093/bioinformatics/btr406.
See Also
APResult,
AggExResult, ExClust,
heatmap-methods, apcluster,
apclusterL, aggExCluster,
cutree-methods
Examples
## create two Gaussian clouds
cl1 <- cbind(rnorm(20, 0.2, 0.05), rnorm(20, 0.8, 0.06))
cl2 <- cbind(rnorm(20, 0.7, 0.08), rnorm(20, 0.3, 0.05))
x <- rbind(cl1, cl2)
## run affinity propagation
apres <- apcluster(negDistMat(r=2), x, q=0.7, details=TRUE)
## perform agglomerative clustering of affinity propagation clusters
aggres1 <- aggExCluster(x=apres)
## compute and plot dendrogram
dend1 <- as.dendrogram(aggres1)
dend1
plot(dend1)
## compute and show dendrogram computed from hclust object
dend2 <- as.dendrogram(as.hclust(aggres1))
dend2
plot(dend2)
## perform agglomerative clustering of whole data set
aggres2 <- aggExCluster(negDistMat(r=2), x)
## compute and plot dendrogram
dend3 <- as.dendrogram(aggres2)
dend3
plot(dend3)