Learn R Programming

treebalance (version 1.2.0)

collessI: Calculation of the Colless index for rooted binary trees

Description

This function calculates variants of the Colless index for a given rooted binary tree \(T\). All of them are imbalance indices.

The original Colless index \(C(T)\) is defined as $$C(T)=\sum_{u \in V_{in}(T)} |n_{u_a}-n_{u_b}|$$ in which \(V_{in}(T)\) denotes the set of all inner vertices of \(T\), and in which \(n_{u_a}\) and \(n_{u_b}\) denote the number of leaves in the two pending subtrees that are rooted at the direct descendants of \(u\).

The corrected Colless index \(I_C(T)\) of \(T\) is defined as \(I_C(T)=0\) for \(n=1\) and \(n=2\) and for \(n>2\) as $$I_C(T)=\frac{2\cdot C(T)}{(n-1)\cdot(n-2)}$$ in which \(n\) denotes the total number of leaves in \(T\).

The quadratic Colless index \(QC(T)\) of \(T\) is defined as $$QC(T)=\sum_{u\in V_{in}(T)} |n_{u_a}-n_{u_b}|^2$$

Special cases: For \(n=1\) the function returns \(C(T)=I_C(T)=QC(T)=0\) and a warning.

For details on the original, corrected and quadratic Colless indices, see also Chapters 12, 13 and 15 in "Tree balance indices: a comprehensive survey" (https://doi.org/10.1007/978-3-031-39800-1_12, https://doi.org/10.1007/978-3-031-39800-1_13, https://doi.org/10.1007/978-3-031-39800-1_15).

Usage

collessI(tree, method = "original")

Value

collessI returns the Colless index of the given tree according to the chosen method.

Arguments

tree

A rooted binary tree in phylo format.

method

A character string specifying the version that shall be computed. It can be one of the following: "original", "corrected", "quadratic".

Author

Luise Kuehn and Sophie Kersting

References

D. Colless. Review of Phylogenetics: the theory and practice of phylogenetic systematics. Systematic Zoology, 1982. ISSN 00397989.

T. M. Coronado, M. Fischer, L. Herbst, F. Rossello, and K. Wicke. On the minimum value of the Colless index and the bifurcating trees that achieve it. Journal of Mathematical Biology, 2020.doi: 10.1007/s00285-020-01488-9.

S. B. Heard. Patterns in tree balance among cladistic, phenetic, and randomly generated phylogenetic trees. Evolution, 1992. doi: 10.1111/j.1558-5646.1992.tb01171.x.

K. Bartoszek, T. M. Coronado, A. Mir, and F. Rossello. Squaring within the Colless index yields a better balance index. Mathematical Biosciences, 331:108503, 2021. doi: 10.1016/j.mbs.2020.108503.

Examples

Run this code
tree <- ape::read.tree(text="((((,),),(,)),(((,),),(,)));")
collessI(tree, method="original")
collessI(tree, method="corrected")
collessI(tree, method="quadratic")

Run the code above in your browser using DataLab