coerce-methods {apcluster} | 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 & Johannes Palme apcluster@bioinf.jku.at
http://www.bioinf.jku.at/software/apcluster
Bodenhofer, U., Kothmeier, A., and Hochreiter, S. (2011) APCluster: an R package for affinity propagation clustering. Bioinformatics 27, 2463-2464. 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)