coerce-methods | R Documentation |
Functions for coercing clustering object to hclust and dendrogram objects
## 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, ...)
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
|
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).
see details above
Ulrich Bodenhofer, Andreas Kothmeier, and Johannes Palme
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: \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/bioinformatics/btr406")}.
APResult
,
AggExResult
, ExClust
,
heatmap-methods
, apcluster
,
apclusterL
, aggExCluster
,
cutree-methods
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.