MakeTreeBinary() resolves, at random, all polytomies in a tree or set of trees, such that all trees compatible with the input topology are drawn with equal probability.




A tree of class phylo.


MakeTreeBinary() returns a rooted binary tree of class phylo, corresponding to tree uniformly selected from all those compatible with the input tree topologies.

See also

Since ape v5.5, this functionality is available through ape::multi2di(); previous versions of 'ape' did not return topologies in equal frequencies.

Other tree manipulation: AddTip(), CollapseNode(), ConsensusWithout(), DropTip(), EnforceOutgroup(), ImposeConstraint(), LeafLabelInterchange(), RenumberTips(), RenumberTree(), Renumber(), RootTree(), SingleTaxonTree(), SortTree(), Subtree()


Martin R. Smith (


MakeTreeBinary(CollapseNode(PectinateTree(7), c(9, 11, 13)))
#> Phylogenetic tree with 7 tips and 6 internal nodes.
#> Tip labels:
#>   t1, t2, t3, t4, t5, t6, ...
#> Rooted; no branch lengths.
#> Phylogenetic tree with 5 tips and 3 internal nodes.
#> Tip labels:
#>   t1, t2, t3, t4, t5
#> Unrooted; no branch lengths.