CreateGeoObject function

Create biogeography object

Create biogeography object

This function returns names of internode intervals, named descendants of each node, and a geography object formatted in a way that can be passed to fit_t_comp

CreateGeoObject(phylo,map)

Arguments

  • phylo: an object of type 'phylo' (see ape documentation)
  • map: either a matrix modified from phylo$edge or a phylo object created using make.simmap (see Details and Examples)

Returns

a list with the following components: - geography.object: a list of matrices specifying sympatry (1) or allopatry (0) for each species pair for each internode interval (see Details)

  • times: a vector containing the time since the root of the tree at which nodes or changes in biogeography occur (used internally in other functions)

  • spans: a vector specifying the distances between times (used internally in other functions)

Details

This function should be used to format the geography object so that it can be correctly passed to the numerical integration performed in fit_t_comp.

The map can either be a matrix formed by specifying the region in which each branch specified by phylo$edge existed, or a stochastic map stored as a phylo object output from make.simmap (see Examples).

References

Drury, J., Clavel, J., Manceau, M., and Morlon, H. 2016. Estimating the effect of competition on trait evolution using maximum likelihood inference. Systematic Biology doi 10.1093/sysbio/syw020

Author(s)

Jonathan Drury jonathan.p.drury@gmail.com

See Also

fit_t_comp

Examples

data(Anolis.data) #Create a geography.object with a modified edge matrix #First, specify which region each branch belonged to: Anolis.regions<-c(rep("cuba",14),rep("hispaniola",17),"puerto_rico") Anolis.map<-cbind(Anolis.data$phylo$edge,Anolis.regions) CreateGeoObject(Anolis.data$phylo,map=Anolis.map) #Create a geography.object with a make.simmap object #First, specify which region each branch belonged to: require(phytools) geo<-c(rep("cuba",7),rep("hispaniola",9),"puerto_rico") names(geo)<-Anolis.data$phylo$tip.label stochastic.map<-phytools::make.simmap(Anolis.data$phylo, geo, model="ER", nsim=1) CreateGeoObject(Anolis.data$phylo,map=stochastic.map)