# dendextend v1.13.2

Monthly downloads

## Extending 'dendrogram' Functionality in R

Offers a set of functions for extending
'dendrogram' objects in R, letting you visualize and compare trees of
'hierarchical clusterings'. You can (1) Adjust a tree's graphical parameters
- the color, size, type, etc of its branches, nodes and labels. (2)
Visually and statistically compare different 'dendrograms' to one another.

## Readme

# dendextend

**dendextend website (built using pkgdown)**

**Table of contents:**

- Introduction
- Installation
- Usage
- Getting help
- How to cite the dendextend package
- Submitting bug reports and patches

## Introduction

Class "dendrogram" provides general functions for handling tree-like structures in R. It is intended as a replacement for similar functions in hierarchical clustering and classification/regression trees, such that all of these can use the same engine for plotting or cutting trees.

However, many basic features are still missing from the dendrogram class. This package aims at filling in some gaps.

**The dendextend package extending R core dendrogram functions.**

## Installation

To install and load dendextend, simply use:

```
install.packages('dendextend') # stable CRAN version
library("dendextend") # load the package
```

## Usage

Vignettes:

- Introduction to dendextend
- Frequently asked questions
- Hierarchical cluster analysis on famous data sets - enhanced with the dendextend package

Also ceck out the dendextend tag in stackoverflow for more examples.

A notable sister package for dendextend is heatmaply for creating interactive cluster heatmaps using R (combining dendextend and plotly).

## Getting help

Please post your question to stackoverflow using the tags: dendextend and r.

## How to cite the dendextend package

The methods within the code package can be cited as:

```
Tal Galili (2015). dendextend: an R package for visualizing, adjusting, and comparing trees of
hierarchical clustering. Bioinformatics. DOI: 10.1093/bioinformatics/btv428
```

A BibTeX entry for LaTeX users is

```
@Article{,
author = {Tal Galili},
title = {dendextend: an R package for visualizing, adjusting, and comparing trees of hierarchical clustering},
journal = {Bioinformatics},
year = {2015},
doi = {10.1093/bioinformatics/btv428},
url = {https://academic.oup.com/bioinformatics/article/31/22/3718/240978/dendextend-an-R-package-for-visualizing-adjusting},
eprint = {https://academic.oup.com/bioinformatics/article-pdf/31/22/3718/17122682/btv428.pdf},
}
```

This free open-source software implements academic research by the authors and co-workers. If you use it, please support the project by citing the appropriate journal articles.

## Submitting bug reports and patches

You are welcome to:

- submit bug-reports and features' suggestions at: https://github.com/talgalili/dendextend/issues
- send a pull request on: https://github.com/talgalili/dendextend/
- compose a friendly e-mail to: tal.galili@gmail.com

Before reporting bugs, please make sure you're using the latest version from github:

```
install.packages.2 <- function (pkg) if (!require(pkg)) install.packages(pkg);
install.packages.2('remotes')
remotes::install_github('talgalili/dendextend')
# Having colorspace is also useful, since it is used
# In various examples in the vignettes
install.packages.2('colorspace')
```

## Latest news

You can see the most recent changes to the package in the NEWS.md file

## Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

## Functions in dendextend

Name | Description | |

collapse_branch | Collapse branches under a tolerance level | |

bakers_gamma_for_2_k_matrix | Bakers Gamma for two k matrices | |

assign_values_to_leaves_edgePar | Assign values to edgePar of dendrogram's leaves | |

cutree_1k.dendrogram | cutree for dendrogram (by 1 k value only!) | |

cutree | Cut a Tree (Dendrogram/hclust/phylo) into Groups of Data | |

assign_values_to_nodes_nodePar | Assign values to nodePar of dendrogram's nodes | |

click_rotate | Interactively rotate a tree object | |

cutree_1h.dendrogram | cutree for dendrogram (by 1 height only!) | |

cut_lower_fun | Cut a dendrogram - and run a function on the output | |

assign_values_to_leaves_nodePar | Assign values to nodePar of dendrogram's leaves | |

branches_attr_by_lists | Change col/lwd/lty of branches from the root down to clusters defined by list of labels of respective members | |

circlize_dendrogram | Plot a circlized dendrograms | |

as.dendlist | Try to coerce something into a dendlist | |

dist_long | Turns a dist object to a "long" table | |

all_unique | Check if all the elements in a vector are unique | |

cor_bakers_gamma | Baker's Gamma correlation coefficient | |

duplicate_leaf | Duplicate a leaf X times | |

color_labels | Color dend's labels according to sub-clusters | |

color_branches | Color tree's branches according to sub-clusters | |

cor_common_nodes | Proportion of commong nodes between two trees | |

cor.dendlist | Correlation matrix between a list of trees. | |

DendSer.dendrogram | Tries to run DendSer on a dendrogram | |

as_hclust_fixed | Convert dendrogram Objects to Class hclust | |

as.phylo.dendrogram | Convert a dendrogram into phylo | |

branches_attr_by_clusters | Change col/lwd/lty of branches based on clusters | |

branches_attr_by_labels | Change col/lwd/lty of branches matching labels condition | |

count_terminal_nodes | Counts the number of terminal nodes (merging 0 nodes!) | |

cor_cophenetic | Cophenetic correlation between two trees | |

dendextend_options | Access to dendextend_options | |

find_dendrogram | Search for the subdendrogram structure composed of indicated labels | |

find_k | Find the (estimated) number of clusters for a dendrogram using average silhouette width | |

distinct_edges | Finds distinct edges in one tree compared to another | |

dendlist | Creating a dendlist object from several dendrograms | |

flatten.dendrogram | Flatten the branches of a dendrogram's root | |

fix_members_attr.dendrogram | Fix members attr in a dendrogram | |

get_leaves_branches_attr | Get an attribute of the branches of a dendrogram's leaves | |

identify.dendrogram | Identify Clusters in a Dendrogram (not hclust) | |

intersect_trees | Intersect trees | |

entanglement | Measures entanglement between two trees | |

get_leaves_edgePar | Get edgePar of dendrogram's leaves | |

get_leaves_nodePar | Get nodePar of dendrogram's leaves | |

has_component_in_attribute | Does a dendrogram has an edgePar/nodePar component? | |

heights_per_k.dendrogram | Which height will result in which k for a dendrogram | |

get_nodes_attr | Get attributes of dendrogram's nodes | |

get_nodes_xy | Get the x-y coordinates of a dendrogram's nodes | |

highlight_distinct_edges | Highlight distint edges in a tree (compared to another one) | |

get_leaves_branches_col | Get the colors of the branches of a dendrogram's leaves | |

match_order_by_labels | Adjust the order of one dendrogram based on another (using labels) | |

highlight_branches_col | Highlight a dendrogram's branches heights via color and line-width | |

is_some_class | Is the object of some class | |

dend_diff | Plots two trees side by side, highlighting edges unique to each tree in red. | |

assign_dendextend_options | Populates dendextend functions into dendextend_options | |

assign_values_to_branches_edgePar | Assign values to edgePar of dendrogram's branches | |

dendextend-package | Functions for extending dendrogram objects | |

cor_FM_index | Correlation of FM_index for some k | |

colored_dots | Add colored dots beside a dendrogram | |

flip_leaves | Flip leaves | |

colored_bars | Add colored bars to a dendrogram | |

get_branches_heights | Get height attributes from a dendrogram | |

dist.dendlist | Topological Distances Between Two dendrograms | |

common_subtrees_clusters | Find clusters of common subtrees | |

color_unique_labels | Color unique labels in a dendrogram | |

min_depth | Find minimum/maximum depth of a dendrogram | |

fac2num | Turns a factor into a number | |

leaf_Colors | Return the leaf Colors of a dendrogram | |

khan | Microarray gene expression dataset from Khan et al., 2001. Subset of 306 genes. | |

match_order_dendrogram_by_old_order | Adjust the order of one dendrogram based on another (using order) | |

ladderize | Ladderize a Tree | |

get_leaves_attr | Get/set attributes of dendrogram's leaves | |

order.dendrogram<- | order.dendrogram<- assignment operator | |

is_null_list | Checks if the value is and empty list() | |

is.natural.number | Check if numbers are natural | |

order.hclust | Ordering of the Leaves in a hclust Dendrogram | |

labels_colors | Retrieve/assign colors to the labels of a dendrogram | |

dend_expend | Finds a "good" dendrogram for a dist | |

get_childrens_heights | Get height attributes from a dendrogram's children | |

lowest_common_branch | Find lowest common branch were the two items are shared | |

get_root_branches_attr | get attributes from the dendrogram's root(!) branches | |

get_subdendrograms | Extract a list of k subdendrograms from a given dendrogram object | |

ggdend | Creates dendrogram plot using ggplot. | |

hang.dendrogram | Hang dendrogram leaves | |

na_locf | Last Observation Carried Forward | |

rank_values_with_clusters | Rank a vector based on clusters | |

nleaves | Counts the number of leaves in a tree | |

partition_leaves | A list with labels for each subtree (edge) | |

pvclust_show_signif_gradient | Significance gradient of branches in a dendrogram (via pvclust) | |

pvclust_show_signif | The significant branches in a dendrogram, based on a pvclust object | |

nnodes | Counts the number of nodes (Vertices) in a tree | |

noded_with_condition | Find which nodes satisfies a condition | |

plot_horiz.dendrogram | Plotting a left-tip-adjusted horizontal dendrogram | |

rotate | Rotate a tree object | |

prune_leaf | Trims one leaf from a dendrogram | |

set_labels | Set/place new labels in a dendrogram | |

untangle_step_rotate_2side | Stepwise untangle two trees one at a time | |

which_leaf | Which node is a leaf? | |

pvclust_edges | Get Pvclust Edges Information | |

set | Set (/update) features to a dendrogram | |

rotate_DendSer | Rotates dend based on DendSer | |

rect.dendrogram | Draw Rectangles Around a Dendrogram's Clusters | |

remove_nodes_nodePar | Remove all nodePar values from a dendrogram's nodes | |

rank_order.dendrogram | Fix rank of leaves order values in a dendrogram | |

rank_branches | Rank branches' heights | |

remove_branches_edgePar | Remove all edgePar values from a dendrogram's branches | |

labels<- | "label" assignment operator | |

labels_cex | Retrieve/assign cex to the labels of a dendrogram | |

raise.dendrogram | Raise the height of a dendrogram tree | |

prune_common_subtrees.dendlist | Prune trees to their common subtrees | |

reexports | Objects exported from other packages | |

pvrect2 | Draw Rectangles Around a Dendrogram's Clusters with High/Low P-values | |

prune | Prunes a tree (using leaves' labels) | |

unclass_dend | unclass an entire dendrogram tree | |

unbranch | unbranch trees | |

reindex_dend | Reindexing a pruned dendrogram | |

sample.dendrogram | Sample a tree | |

untangle_random_search | Untangle - random search | |

remove_leaves_nodePar | Remove all nodePar values from a dendrogram's leaves | |

rllply | recursivly apply a function on a list | |

shuffle | Random rotation of trees | |

tanglegram | Tanglegram plot | |

untangle_step_rotate_1side | Stepwise untangle one tree compared to another | |

untangle | untangle dendrograms | |

untangle_DendSer | Tries to run DendSer on a dendrogram | |

theme_dendro | Creates completely blank theme in ggplot | |

seriate_dendrogram | Rotates a dendrogram based on a seriation of a distance matrix | |

sort_levels_values | Sort the values level in a vector | |

sort_dist_mat | Sorts a distance matrix by rows and columns names | |

which_node | Which node id is common to a group of labels | |

sort_2_clusters_vectors | Sorts two clusters vector by their names | |

Bk_plot | Bk plot - ploting the Fowlkes-Mallows Index of two dendrogram for various k's | |

all_couple_rotations_at_k | Rotate tree branches for k | |

FM_index_permutation | Calculating Fowlkes-Mallows Index under H0 | |

Bk_permutations | Bk permutation - Calculating Fowlkes-Mallows Index for two dendrogram | |

FM_index_profdpm | Calculating Fowlkes-Mallows index using the profdpm R package | |

Bk | Bk - Calculating Fowlkes-Mallows Index for two dendrogram | |

all.equal.dendrogram | Global Comparison of two (or more) dendrograms | |

FM_index | Calculating Fowlkes-Mallows Index | |

FM_index_R | Calculating Fowlkes-Mallows index in R | |

No Results! |

## Vignettes of dendextend

Name | ||

disabled/dendextend-tutorial.rnw | ||

Cluster_Analysis.Rmd | ||

FAQ.Rmd | ||

Quick_Introduction.Rmd | ||

dendextend.Rmd | ||

No Results! |

## Last month downloads

## Details

Type | Package |

Date | 2019-11-27 |

VignetteBuilder | knitr |

LazyData | true |

License | GPL-2 | GPL-3 |

URL | http://talgalili.github.io/dendextend/, https://github.com/talgalili/dendextend/, https://cran.r-project.org/package=dendextend, https://www.r-statistics.com/tag/dendextend/, https://academic.oup.com/bioinformatics/article/31/22/3718/240978/dendextend-an-R-package-for-visualizing-adjusting |

BugReports | https://github.com/talgalili/dendextend/issues |

RoxygenNote | 7.0.1 |

Encoding | UTF-8 |

NeedsCompilation | no |

Packaged | 2019-11-27 20:03:02 UTC; talgalili |

Repository | CRAN |

Date/Publication | 2019-12-02 20:00:06 UTC |

suggests | ape , circlize (>= 0.2.5) , cluster , colorspace , corrplot , covr , d3heatmap , DendSer , dynamicTreeCut , fpc , gplots , heatmaply , knitr , MASS , microbenchmark , profdpm , pvclust , rmarkdown , seriation , testthat |

enhances | data.table , dendroextras , ggdendro , Hmisc , rpart |

imports | datasets , ggplot2 , magrittr (>= 1.0.1) , stats , utils , viridis |

depends | R (>= 3.0.0) |

Contributors | skullkey, Gavin Simpson, Manuela Hummel, Steve Horvath, Peter Langfelder, Gregory Jefferis, Mark der Loo, the R Core Team, Kurt Hornik, Uwe Ligges, Andrie Vries, Christian Hennig, Marco Gallotta, Johan Renaudie, Andrej-Nikolai Spiess, Zuguang Gu, Yoav Benjamini, Cath , John Ma, Krzysiek G, Chase Clark, Lucas Graybuck, jdetribol , Ben Ho, Samuel Perreault, David Bradley |

#### Include our badge in your README

```
[![Rdoc](http://www.rdocumentation.org/badges/version/dendextend)](http://www.rdocumentation.org/packages/dendextend)
```