fbdR is an R package for estimating speciation and extinction rates from phylogenetic trees and fossil occurrence data
Available methods include
- birth-death process model (Stadler, 2012, eqn. 2)
- birth-death process model (Kieding, 1975; Silvestro et al. 2014, eqn. 9)
Described here
- Stadler, T. 2012. How can we improve accuracy of macroevolutionary rate estimates? Syst Biol, 62: 321–329, 2012.
- Keiding N. 1975. Maximum likelihood estimation in the birth-death process. Ann. Stat. 3:363–372.
- Silvestro, D et al. 2014. Bayesian Estimation of Speciation and Extinction from Incomplete Fossil Occurrence Data. Syst Bio 63: 349-367.
The implementation of these methods available in the fbdR
package assume that the age of all speciation and extinction events are known. Estimates of speciation and extinction can be obtained using maximum likelihood for trees and stratigraphic ranges, independently or jointly.
Available methods include
- boundary crosser method (Foote, 2000)
- three-timer method (Alroy 2008)
- gap-filler method (Alroy, 2014)
Desribed here
- Foote, M. 2000. Origination and extinction components of taxonomic diversity: General problems. Paleobiology 26: 74-102.
- Alroy, J et al. 2008. Dynamics of origination and extinction in the marine fossil record. PNAS 105: 11536-11542.
- Alroy, J 2014. Accurate and precise estimates of origination and extinction rates. Paleobiology 40: 374-397.
The latest version can be installed in R using the package devtools:
library(devtools)
install_github("rachelwarnock/fbdr")
fbdR
was designed to work with output from the simulation packages TreeSim
and FossilSim
but can be used to estiamte diversification rates using any simulated or empirical data, so long as they match the input format.
# TreeSim is available on CRAN
install.packages("TreeSim")
# FossilSim is available on GitHub
devtools::install_github("rachelwarnock/fossilsim")
# random number seed
set.seed(123)
# simulate a tree conditioned on tip number
lambda = 0.5
mu = 0.25
tips = 200
t = TreeSim::sim.bd.taxa(tips,1,lambda,mu)[[1]]
# simulate stratigraphic ranges assumming all speciation occurrs via budding
beta = 0
s = FossilSim::sim.taxonomy(t, beta)
# Estimate speciation and extinction using maximum likelihood
out = fbdR::est.bd.combined(t, s)
out$par[1] # tree based lambda
out$par[2] # tree based mu
out$par[3] # fossil based lambda
out$par[4] # fossil based mu