makeDendrogram {clusterExperiment} | R Documentation

## Make hierarchy of set of clusters

### Description

Makes a dendrogram of a set of clusters based on hclust on the medoids of the cluster.

### Usage

    ## S4 method for signature 'ClusterExperiment'
    makeDendrogram(
      x,
      whichCluster = "primaryCluster",
      reduceMethod = "mad",
      nDims = defaultNDims(x, reduceMethod),
      filterIgnoresUnassigned = TRUE,
      unassignedSamples = c("outgroup", "cluster"),
      whichAssay = 1,
      ...
    )

    ## S4 method for signature 'dist'
    makeDendrogram(
      x,
      cluster,
      unassignedSamples = c("outgroup", "cluster", "remove"),
      calculateSample = TRUE,
      ...
    )

    ## S4 method for signature 'matrixOrHDF5'
    makeDendrogram(
      x,
      cluster,
      unassignedSamples = c("outgroup", "cluster", "remove"),
      calculateSample = TRUE,
      ...
    )

### Arguments

`x` | data to define the medoids from. Matrix and `ClusterExperiment` supported.
`whichCluster` | argument that can be a single numeric or character value indicating the single clustering to be used. Giving values that result in more than one clustering will result in an error. See details of `getClusterIndex`.
`reduceMethod` | character A character identifying what type of dimensionality reduction to perform before clustering. Can be either a value stored in either of reducedDims or filterStats slot or a built-in diminsionality reduction/filtering. The option "coCluster" will use the co-Clustering matrix stored in the 'coClustering' slot of the `ClusterExperiment` object
`nDims` | The number of dimensions to keep from `reduceMethod`. If missing calls `defaultNDims`.
`filterIgnoresUnassigned` | logical. Whether filtering statistics should ignore the unassigned samples within the clustering. Only relevant if 'reduceMethod' matches one of built-in filtering statistics in `listBuiltInFilterStats()`, in which case the clustering identified in `whichCluster` is passed to `makeFilterStats` and the unassigned samples are excluded in calculating the statistic. See `makeFilterStats` for more details.
`unassignedSamples` | how to handle unassigned samples("-1") ; only relevant for sample clustering. See details.
`whichAssay` | numeric or character specifying which assay to use. See `assay` for details.
`...` | for makeDendrogram, if signature `matrix`, arguments passed to hclust; if signature `ClusterExperiment` passed to the method for signature `matrix`. For plotDendrogram, passed to `plot.dendrogram`.
`cluster` | A numeric vector with cluster assignments. If x is a ClusterExperiment object, cluster is automatically the primaryCluster(x). “-1” indicates the sample was not assigned to a cluster.
`calculateSample` | only relevant for `matrix` or `dist` version of function. Indicates whether to calculate the sample dendrogram.

### Details

The function returns two dendrograms (as a list if x is a matrix or in the appropriate slots if x is ClusterExperiment). The cluster dendrogram is created by applying `hclust` to the medoids of each cluster. In the sample dendrogram the clusters are again clustered, but now the samples are also part of the resulting dendrogram. This is done by giving each sample the value of the medoid of its cluster.

The argument `unassignedSamples` governs what is done with unassigned samples (defined by a -1 cluster value). If unassigned=="cluster", then the dendrogram is created by hclust of the expanded medoid data plus the original unclustered observations. If `unassignedSamples` is "outgroup", then all unassigned samples are put as an outgroup. If the `x` object is a matrix, then `unassignedSamples` can also be "remove", to indicate that samples with "-1" should be discarded. This is not a permitted option, however, when `x` is a `ClusterExperiment` object, because it would return a dendrogram with less samples than `NCOL(x)`, which is not permitted for the `@dendro_samples` slot.

If any merge information is stored in the input object, it will be erased by a call to makeDendrogram.

### Value

If x is a matrix, a list with two dendrograms, one in which the leaves are clusters and one in which the leaves are samples. If x is a ClusterExperiment object, the dendrograms are saved in the appropriate slots.

### See Also

makeFilterStats, makeReducedDims

### Examples

    data(simData)

    #create a clustering, for 8 clusters (truth was 3)
    cl <- clusterSingle(simData, subsample=FALSE,
    sequential=FALSE, mainClusterArgs=list(clusterFunction="pam", clusterArgs=list(k=8)))

    #create dendrogram of clusters:
    hcl <- makeDendrogram(cl)
    plotDendrogram(hcl)
    plotDendrogram(hcl, leafType="samples",plotType="colorblock")

[Package clusterExperiment version 2.12.0 Index]