# phytools: Phylogenetic Tools for Comparative Biology (and Other Things)

Package contains various functions for phylogenetic analysis. This functionality is concentrated in the phylogenetic analysis of comparative data from species. For example, the package includes functions for Bayesian and ML ancestral state estimation; visual simulation of trait evolution; fitting models of trait evolution with multiple Brownian rates and correlations; visualizing discrete and continuous character evolution using colors or projections into trait space; identifying the location of a change in the rate of character evolution on the tree; fast Brownian motion simulation and simulation under several other models of continuous trait evolution; fitting a model of correlated binary trait evolution; locating the position of a fossil or an recently extinct lineage on a tree using continuous character data with ML; plotting lineage accumulation through time, including across multiple trees (such as a Bayesian posterior sample); conducting an analysis called stochastic character mapping, in which character histories for a discrete trait are sampled from their posterior probability distribution under a model; conducting a multiple (i.e., partial) Mantel test; fitting a phylogenetic regression model with error in predictor and response variables; conducting a phylogenetic principal components analysis, a phylogenetic regression, a reduced major axis regression, a phylogenetic canonical correlation analysis, and a phylogenetic ANOVA; projecting a tree onto a geographic map; simulating discrete character histories on the tree; fitting a model in which a discrete character evolves under the threshold model; visualization of cospeciation; a simple statistical test for cospeciation between two trees. In addition to this phylogenetic comparative method functionality, the package also contains functions for a wide range of other purposes in phylogenetic biology. For instance, functionality in this package includes (but is not restricted to): adding taxa to a tree (including randomly, everywhere, or automatically to genera); generating all bi- and multi-furcating trees for a set of taxa; reducing a phylogeny to its backbone tree; dropping tips or adding tips to special types of phylogenetic trees; exporting a tree as an XML file; converting a tree with a mapped character to a tree with singleton nodes and one character state per edge; estimating a phylogeny using the least squares method; simulating birth-death trees under a range of conditions; rerooting trees; computing a consensus tree under multiple methods, including via minimization of the distance to other trees in the set; a wide range of visualizations of trees; and a variety of other manipulations and analyses that phylogenetic biologists may find useful for their research.

- Author
- Liam J. Revell
- Date of publication
- 2016-12-05 22:44:57
- Maintainer
- Liam J. Revell <liam.revell@umb.edu>
- License
- GPL (>= 2)
- Version
- 0.5-64
- URLs

## Man pages

- add.arrow
- Add an arrow pointing to a tip or node on the tree
- add.color.bar
- Add color bar to a plot
- add.everywhere
- Add tip to all edges in a tree
- add.random
- Add tips at random to the tree
- add.simmap.legend
- Add legend to stochastically mapped tree
- add.species.to.genus
- Add species to genus on a phylogeny or bind simulated species...
- aic.w
- Computes AIC weights
- allFurcTrees
- Generate all bi- and multifurcating unrooted trees
- anc.Bayes
- Bayesian ancestral character estimation
- anc.ML
- Ancestral character estimation using likelihood
- ancThresh
- Ancestral character estimation under the threshold model...
- anc.trend
- Ancestral character estimation with a trend
- anoletree
- Phylogeny of Greater Antillean anole ecomorph species with...
- applyBranchLengths
- Applies the branch lengths of a reference tree to a target
- as.multiPhylo
- Conversion to object of class '"multiPhylo"'
- averageTree
- Compute an average tree from a set of trees and related...
- ave.rates
- Average the posterior rates
- bd
- Convert object of class "birthdeath" to raw birth & death...
- bind.tip
- Attaches a new tip to a tree
- bind.tree.simmap
- Attaches a new tip to a tree
- bmPlot
- Simulates and visualizes discrete-time Brownian evolution on...
- branching.diffusion
- Animation of branching random diffusion
- brownie.lite
- Likelihood test for rate variation in a continuous trait
- brownieREML
- REML version of brownie.lite
- cladelabels
- Add labels to subtrees of a plotted phylogeny
- collapse.to.star
- Collapse a subtree to a star phylogeny
- collapseTree
- Interactive tree visualizer
- consensus.edges
- Compute consensus edges for a tree under some criterion
- contMap
- Map continuous trait evolution on the tree
- cophylo
- Creates a co-phylogenetic plot
- cospeciation
- Conducts a statistical test of cospeciation between two trees
- countSimmap
- Counts the number of character changes on a SIMMAP style tree...
- densityMap
- Plot posterior density of stochastic mapping on a tree
- densityTree
- Plots a posterior sample of trees
- describe.simmap
- Summarizes a stochastic mapped tree or set of trees
- di2multi.simmap
- Collapse branches of zero length to polytomy in stochastic...
- dotTree
- Creates a phylogenetic dot plot
- drop.clade
- Drop a clade from a tree
- drop.leaves
- Drop all the leaves (tips) from a tree
- drop.tip.contMap
- Drop tip or tips from an object of class "contMap" or...
- drop.tip.simmap
- Drop tips or extract clade from tree with mapped discrete...
- edgeProbs
- Compute the relative frequencies of state changes along edges
- estDiversity
- Estimate diversity at each node of the tree
- evol.rate.mcmc
- Bayesian MCMC method for identifying exceptional phenotypic...
- evol.vcv
- Likelihood test for variation in the evolutionary VCV matrix
- evolvcv.lite
- Likelihood test for a shift in the evolutionary correlation...
- exhaustiveMP
- Exhaustive and branch & bound MP optimization
- expm
- Matrix exponential
- export.as.xml
- Export trees & data in XML format
- fancyTree
- Plots special types of phylogenetic trees
- fastAnc
- Fast estimation of ML ancestral states
- fastBM
- Fast Brownian simulation
- fastMRCA
- Get the MRCA (or height above the root of the MRCA) of a pair...
- findMRCA
- Get the MRCA of a set of taxa
- fitBayes
- Evolutionary model fitting with intraspecific variability...
- fitDiversityModel
- Fit diversity-dependent phenotypic evolution model
- fitMk
- Fits Mk model
- fitPagel
- Function to test for correlated evolution of binary traits
- gammatest
- Gamma test of Pybus & Harvey (2000)
- genSeq
- Simulate a DNA alignment on the tree under a model
- getCladesofSize
- Get all subtrees larger than or equal to a specified size
- getDescendants
- Get descendant node numbers
- getExtant
- Returns a list of the extant or extinct lineages in a tree...
- getSisters
- Get the sister node number, label, or set of nodes for a node...
- getStates
- Get the states at nodes or tips from a mapped tree
- ladderize.simmap
- Ladderize a tree with a mapped discrete character
- lambda.transform
- Lambda transformation of matrix
- likMlambda
- Likelihood for joint lambda
- locate.fossil
- Locate a fossil lineage in a tree using continuous characters
- locate.yeti
- Locate a cryptic, recently extinct, or missing taxon on a...
- ls.tree
- Least squares branch lengths for a given tree
- ltt
- Creates lineage-through-time plot (including extinct...
- ltt95
- Creates a (1-alpha)-percent CI for a set of LTTs
- make.era.map
- Create "era" map on a phylogenetic tree
- make.simmap
- Simulate stochastic character maps on a phylogenetic tree or...
- map.overlap
- Proportional overlap between two mapped character histories...
- mapped.states
- Returns a vector, matrix, or list of the mapped states on a...
- map.to.singleton
- Converts a mapped tree to a tree with singleton nodes
- markChanges
- Add marked changes to a plotted tree with mapped discrete...
- matchNodes
- Matches nodes between two trees
- mergeMappedStates
- Merge two or more mapped states into one state
- midpoint.root
- Midpoint root a phylogeny
- minRotate
- Rotates all nodes of the tree to minimize the difference in...
- minSplit
- Finding the minimum (median) split in the posterior sample
- modified.Grafen
- Computes modified Grafen edge lengths
- mrp.supertree
- Matrix representation parsimony supertree estimation
- multiC
- Returns a list with phylogenetic VCV matrix for each mapped...
- multi.mantel
- Multiple matrix regression (partial Mantel test)
- multiRF
- Computes Robinson-Foulds distance between a set of trees
- nodeHeights
- Compute the heights above the root of each node
- nodelabels.cophylo
- Add labels to a plotted "cophylo" object
- optim.phylo.ls
- Phylogeny inference using the least squares method
- orderMappedEdge
- Order the columns of mapped.edge to match across trees
- paintSubTree
- Paint sub-trees with a discrete character
- paste.tree
- Paste two trees together
- pbtree
- Simulate pure-birth or birth-death stochastic tree or trees
- pgls.Ives
- Phylogenetic regression with intraspecific sampling error
- phenogram
- Plot phenogram (traitgram)
- phylANOVA
- Phylogenetic ANOVA and post-hoc tests
- phyl.cca
- Phylogenetic canonical correlation analysis
- phyloDesign
- Compute design matrix for least squares analyses
- phylo.heatmap
- Creates a phylogenetic heat map
- phylomorphospace
- Creates phylomorphospace plot
- phylomorphospace3d
- Creates tree-dimensional phylomorphospace plot
- phylosig
- Compute phylogenetic signal with two methods
- phylo.toBackbone
- Converts tree to backbone or vice versa
- phylo.to.map
- Plot tree with tips linked to geographic coordinates
- phyl.pairedttest
- Phylogenetic paired t-test
- phyl.pca
- Phylogenetic principal components analysis
- phyl.resid
- Phylogenetic size-correction via GLS regression
- phyl.RMA
- Phylogenetic reduced major axis (RMA) regression
- phyl.vcv
- Compute evolutionary VCV matrix for a tree & dataset
- phytools-package
- phytools: Phylogenetic Tools for comparative biology (and...
- plot.backbonePhylo
- Plots backbone tree with triangles as clades
- plotBranchbyTrait
- Plot branch colors by a quantitative trait or value
- plotSimmap
- Plot stochastic character mapped tree
- plotThresh
- Tree plotting with posterior probabilities of ancestral...
- plotTree
- Plots rooted phylogenetic tree
- plotTree.wBars
- Plot a tree with bars at the tips
- posterior.evolrate
- Analysis of the posterior sample from evol.rate.mcmc
- print.backbonePhylo
- Print method for backbone phylogeny
- ratebystate
- Method for investigating the rate of one trait as a function...
- rateshift
- Find the temporal position of one or more rate shifts
- read.newick
- Robust Newick style tree reader
- read.simmap
- Read SIMMAP style trees from file
- reorder.backbonePhylo
- Reorders a backbone phylogeny
- reorderSimmap
- Reorder edges of a simmap tree
- rep.phylo
- Replicate a tree or set of trees
- reroot
- Re-root a tree along an edge
- rerootingMethod
- Get marginal ancestral state reconstructions by re-rooting
- rescaleSimmap
- Rescale SIMMAP style tree
- resolveNode
- Compute all possible resolutions of a node or all nodes in a...
- rotateNodes
- Rotates a node or set of nodes in a phylogenetic tree
- roundBranches
- Rounds the branch lengths of a tree
- roundPhylogram
- Plot a round phylogram
- rstate
- Pick a random state according to a vector of probabilities
- sampleFrom
- Sample from a set of distributions
- setMap
- Set color map for objects of class '"contMap"' or...
- sim.corrs
- Multivariate Brownian simulation with multiple correlations...
- sim.history
- Simulate stochastic character history under some model
- sim.ratebystate
- Conduct simulation of state dependent rate variation
- sim.rates
- Brownian simulation with multiple evolutionary rates
- skewers
- Matrix comparison using the method of random skewers
- splitEdgeColor
- Split edge colors when descendant edges have different mapped...
- splitplotTree
- Plots a phylogeny in two columns
- splitTree
- Split tree at a point
- starTree
- Create star phylogeny
- strahlerNumber
- Computes Strahler number for trees and nodes
- threshBayes
- Threshold model using Bayesian MCMC
- threshDIC
- Deviance Information Criterion from the threshold model
- threshState
- Computes value for a threshold character from a liability and...
- to.matrix
- Convert a character vector to a binary matrix
- treeSlice
- Slices the tree at a particular point and returns all...
- untangle
- Attempts to untangle crossing branches for plotting
- vcvPhylo
- Calculates cophenetic (i.e., phylogenetic VCV) matrix
- writeAncestors
- Write a tree to file with ancestral states and (optionally)...
- writeNexus
- Write a tree to file in Nexus format
- write.simmap
- Write a stochastic character mapped tree to file

## Files in this package

phytools |

phytools/inst |

phytools/inst/CITATION |

phytools/NAMESPACE |

phytools/data |

phytools/data/anoletree.rda |

phytools/R |

phytools/R/backbonePhylo.R |

phytools/R/fitMk.R |

phytools/R/read.newick.R |

phytools/R/ls.consensus.R |

phytools/R/paintSubTree.R |

phytools/R/contMap.R |

phytools/R/cophylo.R |

phytools/R/plotBranchbyTrait.R |

phytools/R/sim.rates.R |

phytools/R/splitplotTree.R |

phytools/R/anc.ML.R |

phytools/R/add.species.to.genus.R |

phytools/R/phyl.resid.R |

phytools/R/make.simmap.R |

phytools/R/locate.fossil.R |

phytools/R/ratebystate.R |

phytools/R/bmPlot.R |

phytools/R/multi.mantel.R |

phytools/R/phylo.heatmap.R |

phytools/R/phylomorphospace.R |

phytools/R/phyl.pairedttest.R |

phytools/R/densityMap.R |

phytools/R/rerootingMethod.R |

phytools/R/estDiversity.R |

phytools/R/fastAnc.R |

phytools/R/phylANOVA.R |

phytools/R/pgls.Ives.R |

phytools/R/optim.phylo.ls.R |

phytools/R/utilities.R |

phytools/R/consensus.edges.R |

phytools/R/rateshift.R |

phytools/R/export.as.xml.R |

phytools/R/add.everywhere.R |

phytools/R/phyl.pca.R |

phytools/R/ltt.R |

phytools/R/add.random.R |

phytools/R/mcmcLambda.R |

phytools/R/densityTree.R |

phytools/R/writeAncestors.R |

phytools/R/collapseTree.R |

phytools/R/fancyTree.R |

phytools/R/pbtree.R |

phytools/R/cospeciation.R |

phytools/R/allFurcTrees.R |

phytools/R/resolveNodes.R |

phytools/R/phyl.cca.R |

phytools/R/starTree.R |

phytools/R/plotSimmap.R |

phytools/R/ancThresh.R |

phytools/R/plotTree.wBars.R |

phytools/R/evol.rate.mcmc.R |

phytools/R/mrp.supertree.R |

phytools/R/phylo.to.map.R |

phytools/R/write.simmap.R |

phytools/R/mcmcBM.full.R |

phytools/R/fastBM.R |

phytools/R/exhaustiveMP.R |

phytools/R/ltt95.R |

phytools/R/sim.history.R |

phytools/R/evol.vcv.R |

phytools/R/phylosig.R |

phytools/R/map.to.singleton.R |

phytools/R/threshBayes.R |

phytools/R/fitDiversityModel.R |

phytools/R/fitPagel.R |

phytools/R/treeSlice.R |

phytools/R/phylomorphospace3d.R |

phytools/R/evolvcv.lite.R |

phytools/R/fitBayes.R |

phytools/R/anc.Bayes.R |

phytools/R/multiRF.R |

phytools/R/branching.diffusion.R |

phytools/R/read.simmap.R |

phytools/R/map.overlap.R |

phytools/R/skewers.R |

phytools/R/phyl.RMA.R |

phytools/R/drop.tip.simmap.R |

phytools/R/phenogram.R |

phytools/R/dotTree.R |

phytools/R/writeNexus.R |

phytools/R/brownieREML.R |

phytools/R/strahlerNumber.R |

phytools/R/sim.corrs.R |

phytools/R/roundPhylogram.R |

phytools/R/mcmcBM.R |

phytools/R/make.era.map.R |

phytools/R/anc.trend.R |

phytools/R/brownie.lite.R |

phytools/R/locate.yeti.R |

phytools/MD5 |

phytools/DESCRIPTION |

phytools/man |

phytools/man/markChanges.Rd |

phytools/man/nodeHeights.Rd |

phytools/man/posterior.evolrate.Rd |

phytools/man/cophylo.Rd |

phytools/man/brownie.lite.Rd |

phytools/man/add.simmap.legend.Rd |

phytools/man/ave.rates.Rd |

phytools/man/anc.Bayes.Rd |

phytools/man/phylANOVA.Rd |

phytools/man/paste.tree.Rd |

phytools/man/branching.diffusion.Rd |

phytools/man/fitDiversityModel.Rd |

phytools/man/getCladesofSize.Rd |

phytools/man/evol.rate.mcmc.Rd |

phytools/man/cospeciation.Rd |

phytools/man/locate.fossil.Rd |

phytools/man/averageTree.Rd |

phytools/man/countSimmap.Rd |

phytools/man/ls.tree.Rd |

phytools/man/writeAncestors.Rd |

phytools/man/findMRCA.Rd |

phytools/man/anc.trend.Rd |

phytools/man/threshState.Rd |

phytools/man/phyl.vcv.Rd |

phytools/man/rateshift.Rd |

phytools/man/bd.Rd |

phytools/man/orderMappedEdge.Rd |

phytools/man/splitTree.Rd |

phytools/man/writeNexus.Rd |

phytools/man/bmPlot.Rd |

phytools/man/splitplotTree.Rd |

phytools/man/applyBranchLengths.Rd |

phytools/man/getSisters.Rd |

phytools/man/add.species.to.genus.Rd |

phytools/man/ladderize.simmap.Rd |

phytools/man/getExtant.Rd |

phytools/man/add.arrow.Rd |

phytools/man/minRotate.Rd |

phytools/man/plotTree.Rd |

phytools/man/phyloDesign.Rd |

phytools/man/sim.rates.Rd |

phytools/man/rotateNodes.Rd |

phytools/man/ltt95.Rd |

phytools/man/contMap.Rd |

phytools/man/di2multi.simmap.Rd |

phytools/man/phyl.cca.Rd |

phytools/man/sim.corrs.Rd |

phytools/man/mrp.supertree.Rd |

phytools/man/ltt.Rd |

phytools/man/phylo.to.map.Rd |

phytools/man/fancyTree.Rd |

phytools/man/reroot.Rd |

phytools/man/multi.mantel.Rd |

phytools/man/map.overlap.Rd |

phytools/man/roundPhylogram.Rd |

phytools/man/edgeProbs.Rd |

phytools/man/skewers.Rd |

phytools/man/add.color.bar.Rd |

phytools/man/add.everywhere.Rd |

phytools/man/make.era.map.Rd |

phytools/man/mergeMappedStates.Rd |

phytools/man/sampleFrom.Rd |

phytools/man/starTree.Rd |

phytools/man/treeSlice.Rd |

phytools/man/fitBayes.Rd |

phytools/man/nodelabels.cophylo.Rd |

phytools/man/locate.yeti.Rd |

phytools/man/fastAnc.Rd |

phytools/man/drop.leaves.Rd |

phytools/man/plotSimmap.Rd |

phytools/man/strahlerNumber.Rd |

phytools/man/read.simmap.Rd |

phytools/man/evol.vcv.Rd |

phytools/man/print.backbonePhylo.Rd |

phytools/man/bind.tip.Rd |

phytools/man/ancThresh.Rd |

phytools/man/matchNodes.Rd |

phytools/man/phylomorphospace.Rd |

phytools/man/consensus.edges.Rd |

phytools/man/multiC.Rd |

phytools/man/plot.backbonePhylo.Rd |

phytools/man/phenogram.Rd |

phytools/man/minSplit.Rd |

phytools/man/densityMap.Rd |

phytools/man/optim.phylo.ls.Rd |

phytools/man/to.matrix.Rd |

phytools/man/setMap.Rd |

phytools/man/likMlambda.Rd |

phytools/man/phyl.pca.Rd |

phytools/man/untangle.Rd |

phytools/man/sim.history.Rd |

phytools/man/threshBayes.Rd |

phytools/man/plotThresh.Rd |

phytools/man/anoletree.Rd |

phytools/man/splitEdgeColor.Rd |

phytools/man/vcvPhylo.Rd |

phytools/man/phylosig.Rd |

phytools/man/read.newick.Rd |

phytools/man/plotBranchbyTrait.Rd |

phytools/man/export.as.xml.Rd |

phytools/man/rerootingMethod.Rd |

phytools/man/map.to.singleton.Rd |

phytools/man/reorder.backbonePhylo.Rd |

phytools/man/paintSubTree.Rd |

phytools/man/phylo.heatmap.Rd |

phytools/man/allFurcTrees.Rd |

phytools/man/exhaustiveMP.Rd |

phytools/man/write.simmap.Rd |

phytools/man/phyl.pairedttest.Rd |

phytools/man/threshDIC.Rd |

phytools/man/make.simmap.Rd |

phytools/man/multiRF.Rd |

phytools/man/fastBM.Rd |

phytools/man/reorderSimmap.Rd |

phytools/man/phylo.toBackbone.Rd |

phytools/man/aic.w.Rd |

phytools/man/phytools-package.Rd |

phytools/man/cladelabels.Rd |

phytools/man/lambda.transform.Rd |

phytools/man/modified.Grafen.Rd |

phytools/man/mapped.states.Rd |

phytools/man/as.multiPhylo.Rd |

phytools/man/densityTree.Rd |

phytools/man/fastMRCA.Rd |

phytools/man/pgls.Ives.Rd |

phytools/man/fitPagel.Rd |

phytools/man/resolveNode.Rd |

phytools/man/bind.tree.simmap.Rd |

phytools/man/describe.simmap.Rd |

phytools/man/drop.tip.contMap.Rd |

phytools/man/midpoint.root.Rd |

phytools/man/phylomorphospace3d.Rd |

phytools/man/getStates.Rd |

phytools/man/phyl.RMA.Rd |

phytools/man/roundBranches.Rd |

phytools/man/gammatest.Rd |

phytools/man/genSeq.Rd |

phytools/man/expm.Rd |

phytools/man/phyl.resid.Rd |

phytools/man/anc.ML.Rd |

phytools/man/fitMk.Rd |

phytools/man/rep.phylo.Rd |

phytools/man/dotTree.Rd |

phytools/man/estDiversity.Rd |

phytools/man/rescaleSimmap.Rd |

phytools/man/evolvcv.lite.Rd |

phytools/man/rstate.Rd |

phytools/man/pbtree.Rd |

phytools/man/add.random.Rd |

phytools/man/plotTree.wBars.Rd |

phytools/man/ratebystate.Rd |

phytools/man/brownieREML.Rd |

phytools/man/sim.ratebystate.Rd |

phytools/man/getDescendants.Rd |

phytools/man/collapseTree.Rd |

phytools/man/drop.clade.Rd |

phytools/man/collapse.to.star.Rd |

phytools/man/drop.tip.simmap.Rd |