Generates a starting tree by adding each taxon in turn to the most parsimonious location.
AdditionTree(dataset, concavity = Inf, constraint, sequence)
A phylogenetic data matrix of phangorn class
phyDat
, whose names correspond to the labels of any accompanying tree.
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 (Goloboff et al. 2018; Smith 2019)
.
The character string "profile" employs an approximation of profile parsimony
(Faith and Trueman 2001)
.
Set as Inf
for equal step weights, which underperforms step weighting
approaches
(Goloboff et al. 2008; Goloboff et al. 2018; Goloboff and Arias 2019; Smith 2019)
.
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.
Character or numeric vector listing sequence in which to add taxa. Randomized if not provided.
AdditionTree()
returns a tree of class phylo
, rooted on
sequence[1]
.
data("inapplicable.phyData", package = "TreeSearch")
AdditionTree(inapplicable.phyData[["Longrich2010"]], concavity = 10)
#>
#> Phylogenetic tree with 20 tips and 19 internal nodes.
#>
#> Tip labels:
#> Psittacosaurus_spp, Texacephale_langstoni, Sphaerotholus_goodwini, Pachycephalosaurus_wyomingensis, Wannanosaurus_yansiensis, Goyocephale_lattimorei, ...
#>
#> Rooted; no branch lengths.