R/tree_Discrete.R
tree_discrete.Rd
Fits models for trait evolution of discrete (binary) characters, evaluating phylogenetic uncertainty.
tree_discrete( data, phy, n.tree = 10, model, transform = "none", bounds = list(), n.cores = NULL, track = TRUE, ... )
data | Data vector for a single binary trait, with names matching tips in |
---|---|
phy | Phylogenies (class 'multiPhylo', see ? |
n.tree | Number of times to repeat the analysis with n different trees picked
randomly in the multiPhylo file. If NULL, |
model | The Mkn model to use (see Details). |
transform | The evolutionary model to transform the tree (see Details). Default is |
bounds | settings to constrain parameter estimates. See |
n.cores | number of cores to use. If 'NULL', number of cores is detected. |
track | Print a report tracking function progress (default = TRUE) |
... | Further arguments to be passed to |
The function tree_discrete
returns a list with the following
components:
call
: The function call
data
: The original full data vector
sensi.estimates
: Parameter estimates (transition rates q12 and q21),
AICc and the optimised value of the phylogenetic transformation parameter (e.g. lambda
)
for each analysis with a different phylogenetic tree.
N.tree
: Number of trees n.tree
analysed
stats
: Main statistics for model parameters, i.e. minimum, maximum, mean, median and sd-values
optpar
: Transformation parameter used (e.g. lambda
, kappa
etc.)
This function fits different models of discrete character evolution using fitDiscrete
to n trees, randomly picked in a multiPhylo file. Currently, only binary discrete traits are supported
Different character model from fitDiscrete
can be used, including ER
(equal-rates),
SYM
(symmetric), ARD
(all-rates-different) and meristic
(stepwise fashion).
All transformations to the phylogenetic tree from fitDiscrete
can be used, i.e. none
,
EB
, lambda
, kappa
anddelta
.
See fitDiscrete
for more details on character models and tree transformations.
Output can be visualised using sensi_plot
.
Paterno, G. B., Penone, C. Werner, G. D. A. sensiPhy: An r-package for sensitivity analysis in phylogenetic comparative methods. Methods in Ecology and Evolution 2018, 9(6):1461-1467
Yang Z. 2006. Computational Molecular Evolution. Oxford University Press: Oxford.
Harmon Luke J, Jason T Weir, Chad D Brock, Richard E Glor, and Wendell Challenger. 2008. GEIGER: investigating evolutionary radiations. Bioinformatics 24:129-131.
if (FALSE) { #Load data: data("primates") #Create a binary trait factor adultMass_binary<-ifelse(primates$data$adultMass > 7350, "big", "small") adultMass_binary<-as.factor(as.factor(adultMass_binary)) names(adultMass_binary)<-rownames(primates$data) #Model trait evolution accounting for phylogenetic uncertainty tree_binary<-tree_discrete(data = adultMass_binary,phy = primates$phy, model = "ARD",transform = "none",n.tree = 30,n.cores = 2,track = TRUE) #Print summary statistics summary(tree_binary) sensi_plot(tree_binary) sensi_plot(tree_binary,graphs="q12") sensi_plot(tree_binary,graphs="q21") #Use a different evolutionary model or transformation. tree_binary_lambda<-tree_discrete(data = adultMass_binary,phy = primates$phy, model = "SYM",transform = "lambda",n.tree = 30,n.cores = 2,track = TRUE) summary(tree_binary_lambda) #Using Pagel's Lambda sensi_plot(tree_binary_lambda) #Symmetrical rates, with an Early Burst (EB) model of trait evolution tree_binary_SYM_EB<-tree_discrete(data = adultMass_binary,phy = primates$phy, model = "SYM",transform = "EB",n.tree = 30,n.cores = 2,track = TRUE) summary(tree_binary_SYM_EB) sensi_plot(tree_binary_SYM_EB) sensi_plot(tree_binary_SYM_EB,graphs="optpar") }