Skip to contents

Generates a starting tree by adding each taxon in turn to the most parsimonious location.

Usage

AdditionTree(dataset, concavity = Inf, constraint, sequence)

Arguments

dataset

A phylogenetic data matrix of phangorn class phyDat, whose names correspond to the labels of any accompanying tree.

concavity

Numeric specifying concavity constant for implied step weighting. The most appropriate value will depend on the dataset, but values around 10–15 often perform well Goloboff2018,Smith2019TreeSearch. The character string "profile" employs an approximation of profile parsimony Faith2001TreeSearch. Set as Inf for equal step weights, which underperforms step weighting approaches Goloboff2008,Goloboff2018,Goloboff2019,Smith2019TreeSearch.

constraint

Either an object of class phyDat, in which case returned trees will be perfectly compatible with each character in constraint; or a tree of class phylo, all of whose nodes will occur in any output tree. See ImposeConstraint() and vignette for further examples.

sequence

Character or numeric vector listing sequence in which to add taxa. Randomized if not provided.

Value

AdditionTree() returns a tree of class phylo, rooted on sequence[1].

See also

Impose a constraint: TreeTools::ImposeConstraint()

Neighbour-joining trees: TreeTools::NJTree(); TreeTools::ConstrainedNJ()

Other tree generation functions: RandomMorphyTree()

Examples

data("inapplicable.phyData", package = "TreeSearch")
AdditionTree(inapplicable.phyData[["Longrich2010"]], concavity = 10)
#> 
#> Phylogenetic tree with 20 tips and 19 internal nodes.
#> 
#> Tip labels:
#>   Psittacosaurus_spp, Prenocephale_prenes, Pachycephalosaurus_wyomingensis, Texacephale_langstoni, Hanssuesia_sternbergi, Homalocephale_calathocercos, ...
#> 
#> Rooted; no branch lengths.