colPlaLab | R Documentation |
This function calculates the Colijn-Plazzotta rank CP(T)
for a
given rooted binary tree T
.
For a binary tree T
, the Colijn-Plazzotta rank CP(T)
is
recursively defined as CP(T)=1
if T
consists of only
one leaf and otherwise
CP(T)=\frac{1}{2}\cdot CP(T_1)\cdot(CP(T_1)-1)+CP(T_2)+1
with CP(T_1) \geq CP(T_2)
being the ranks of the two pending
subtrees rooted at the children of the root of T
. This rank
of T
corresponds to its position in the
lexicographically sorted list of (i,j
): (1),(1,1),(2,1),(2,2),(3,1),...
The Colijn-Plazzotta rank of binary trees has been shown to be an imbalance index.
For n=1
the function returns CP(T)=1
and a warning.
Note that problems can sometimes arise even for trees with small leaf numbers due
to the limited range of computable values (ranks can reach INF quickly).
For details on the Colijn-Plazzotta rank, see
also Chapter 21 in "Tree balance indices: a comprehensive survey" (https://doi.org/10.1007/978-3-031-39800-1_21).
colPlaLab(tree)
tree |
A rooted binary tree in phylo format. |
colPlaLab
returns the Colijn-Plazotta rank of the given tree. Since the values can get quite large, the
function returns them in big.z format (package gmp).
Sophie Kersting, Luise Kuehn
C. Colijn and G. Plazzotta. A Metric on Phylogenetic Tree Shapes. Systematic Biology, doi: 10.1093/sysbio/syx046.
N. A. Rosenberg. On the Colijn-Plazzotta numbering scheme for unlabeled binary rooted trees. Discrete Applied Mathematics, 2021. doi: 10.1016/j.dam.2020.11.021.
tree <- ape::read.tree(text="((((,),),(,)),(((,),),(,)));")
colPlaLab(tree)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.