collessI: Calculation of the Colless index for rooted binary trees

Description Usage Arguments Value Author(s) References Examples

View source: R/collessI.R


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)=∑_{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)=2* C(T)/((n-1)*(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)=∑_{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.


collessI(tree, method = "original")



A rooted binary tree in phylo format.


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


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


Luise Kuehn and Sophie Kersting


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. Rosselló, 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. Rosselló. Squaring within the Colless index yields a better balance index. Mathematical Biosciences, 331:108503, 2021. doi: 10.1016/j.mbs.2020.108503.


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

treebalance documentation built on Oct. 17, 2021, 5:06 p.m.