unitLengthTree: Scale Tree to Unit-Length

View source: R/unitLengthTree.R

unitLengthTreeR Documentation

Scale Tree to Unit-Length

Description

Rescales all edges of a phylogeny to be equal to a single unit (1, or "unit-length").

Usage

unitLengthTree(tree)

Arguments

tree

A phylogeny as an object of class phylo.

Details

Probably not a good way to scale a tree for comparative studies. What does it mean to scale every edge of the phylogeny to the same length?

This is not a rhetorical question. First, consider that on a 'reconstructed' tree with only extant taxa, it would mean assuming the time between births of new lineages that survive to the modern is extremely constant over evolutionary history (because the unit-length wouldn't change, unlike the birth-death model, which assumes lineages that survive to the modern accumulate at an accelerating exponential rate, even with constant birth and death rates).

A paleontological tree (say, under the Fossilized Birth-Death Model) treated with this 'unit-length' approach would assuming constancy and rigid homogeneity of the timing between the birth (origination events) of new lineages that (a) survive to the modern day, or (b) are sampled at some future point in the fossil record. We should assume even with constant extinction and fossilization rates that such lineages should occur more frequently as we approach the present-day.

Note that in neither of those cases, the 'unit-length' branch-scaling approach does not produce trees whose edge lengths somehow represent the 'speciational' model, where evolutionary change is entirely 'cladogenetic' (ala punctuated equilibrium) and associated only with branching events. This would only be true on the true, perfectly sampled tree, which isn't what anyone has.

Thus, overall, the value of the 'unit-length' approach is rather questionable.

Value

Returns the modified phylogeny as an object of class phylo. Any $root.time element is removed.

See Also

As an alternative to using unitLengthTree in comparative studies, see timePaleoPhy. Or nearly anything, really...

See also speciationalTree in the package geiger, which does essentially the same thing as unitLengthTree.

Examples


set.seed(444)
tree <- rtree(10)

layout(1:2)
plot(tree)
plot(unitLengthTree(tree))
layout(1)


paleotree documentation built on Aug. 22, 2022, 9:09 a.m.