yule.cov {ape}  R Documentation 
This function fits by maximum likelihood the Yule model with covariates, that is a birthonly model where speciation rate is determined by a generalized linear model.
yule.cov(phy, formula, data = NULL)
phy 
an object of class 
formula 
a formula specifying the model to be fitted. 
data 
the name of the data frame where the variables in

The model fitted is a generalization of the Yule model where the speciation rate is determined by:
ln(li / (1  li)) = b1 xi1 + b2 xi2 + ... a
where li is the speciation rate for species i,
xi1, xi2, ... are speciesspecific
variables, and b1, b2, ..., a
are parameters to be estimated. The term on the lefthand side above
is a logit function often used in generalized linear models for
binomial data (see family
). The above model can
be written in matrix form:
logit li = xi' b
The standarderrors of the parameters are computed with the second derivatives of the loglikelihood function. (See References for other details on the estimation procedure.)
The function needs three things:
a phylogenetic tree which may contain multichotomies;
a formula which specifies the predictors of the model described
above: this is given as a standard R formula and has no response (no
lefthand side term), for instance: ~ x + y
, it can include
interactions (~ x + a * b
) (see formula
for details);
the predictors specified in the formula must be accessible to
the function (either in the global space, or though the data
option); they can be numeric vectors or factors. The length and the
order of these data are important: the number of values (length) must
be equal to the number of tips of the tree + the number of nodes. The
order is the following: first the values for the tips in the same
order than for the labels, then the values for the nodes sequentially
from the root to the most terminal nodes (i.e., in the order given by
phy$edge
).
The user must obtain the values for the nodes separately.
Note that the method in its present implementation assumes that the
change in a species trait is more or less continuous between two nodes
or between a node and a tip. Thus reconstructing the ancestral values
with a Brownian motion model may be consistent with the present
method. This can be done with the function ace
.
A NULL value is returned, the results are simply printed. The output
includes the deviance of the null (interceptonly) model and a
likelihoodratio test of the fitted model against the null model.
Note that the deviance of the null model is different from the one
returned by yule
because of the different parametrizations.
Emmanuel Paradis
Paradis, E. (2005) Statistical analysis of diversification with species traits. Evolution, 59, 1–12.
branching.times
, diversi.gof
,
diversi.time
, ltt.plot
,
birthdeath
, bd.ext
, yule
### a simple example with some random data data(bird.orders) x < rnorm(45) # the tree has 23 tips and 22 nodes ### the standarderror for x should be as large as ### the estimated parameter yule.cov(bird.orders, ~ x) ### another example with a tree that has a multichotomy data(bird.families) y < rnorm(272) # 137 tips + 135 nodes yule.cov(bird.families, ~ y)