Skip to contents

Computes a dissimilarity matrix between columns (samples or groups) using vegan::vegdist() on t(mat), clusters with stats::hclust(), and returns a dendrogram with an optional hang.

Usage

build_dendrogram(
  mat,
  distance_method = "bray",
  cluster_method = "ward.D2",
  hang = -1
)

Arguments

mat

Numeric matrix with taxa/ASVs as rows and units-to-cluster as columns (samples or groups). Columns will be clustered.

distance_method

Distance method passed to vegan::vegdist() (default: "bray").

cluster_method

Linkage method passed to stats::hclust() (default: "ward.D2").

hang

Numeric hang parameter passed to dendextend::hang.dendrogram() (default: -1).

Value

A list with:

dendrogram

A dendrogram object.

order

Character vector of leaf labels in plotting order.

hc

The hclust object.

dist

The dist object from vegan::vegdist.

Examples

if (requireNamespace("vegan", quietly = TRUE) &&
  requireNamespace("dendextend", quietly = TRUE)) {
  mat <- matrix(runif(20), nrow = 5)
  colnames(mat) <- c("G1", "G2", "G3", "G4")
  res <- build_dendrogram(mat)
  res$order
}
#> Registered S3 method overwritten by 'dendextend':
#>   method     from 
#>   rev.hclust vegan
#> [1] "G1" "G3" "G2" "G4"