This function estimates the evolutionary parameters and ancestral states for Brownian evolution using likelihood. It is also possible (for model="BM"
) to allow for missing data for some tip taxa.
anc.ML(tree, x, maxit=2000, model=c("BM","OU","EB"), ...)
an object of class "phylo"
.
a vector of tip values for species; names(x)
should be the species names.
an optional integer value indicating the maximum number of iterations for optimization.
model of continuous character evolution ont he tree. It's possible that only model="BM"
& model="EB"
work in the present version as model="OU"
has not be thoroughly tested & some bugs were reported for an earlier version.
other arguments.
An object of class "anc.ML"
with at least the following four elements (if not more, depending on model
):
the variance of the BM process.
a vector with the ancestral states.
the log-likelihood.
the value of $convergence
returned by optim()
(0 is good).
Because this function relies on a high dimensional numerical optimization of the likelihood function, fastAnc
should probably be preferred for most purposes. If using anc.ML
, users should be cautious to ensure convergence. This has been ameliorated in phytools >= 0.2-48 by seeding the ML optimization with the result from fastAnc
. For model="EB"
this should also not be a problem as the numerical optimization is performed for only sig2
and r
, while the ML values of the ancestral states are obtained during every iteration of the optimization algorithmically using the re-rooting method.
Revell, L. J. (2012) phytools: An R package for phylogenetic comparative biology (and other things). Methods Ecol. Evol., 3, 217-223.
Schluter, D., Price, T., Mooers, A. O., and Ludwig, D. (1997) Likelihood of ancestor states in adaptive radiation. Evolution 51, 1699-1711.
# NOT RUN {
tree<-pbtree(n=50)
x<-fastBM(tree) # simulate using fastBM
anc.ML(tree,x) # fit model & estimate ancestral states
# }
Run the code above in your browser using DataLab