yule.cov {ape}R Documentation

Fits the Yule Model With Covariates

Description

This function fits by maximum likelihood the Yule model with covariates, that is a birth-only model where speciation rate is determined by a generalized linear model.

Usage

yule.cov(phy, formula, data = NULL)

Arguments

phy an object of class "phylo".
formula a formula specifying the model to be fitted.
data the name of the data frame where the variables in formula are to be found; by default, the variables are looked for in the global environment.

Details

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 species-specific variables, and b1, b2, ..., a are parameters to be estimated. The term on the left-hand 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 standard-errors of the parameters are computed with the second derivatives of the log-likelihood function. (See References for other details on the estimation procedure.)

The function needs three things:

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.

Value

A NULL value is returned, the results are simply printed.

Author(s)

Emmanuel Paradis Emmanuel.Paradis@mpl.ird.fr

References

Paradis, E. (2005) Statistical analysis of diversification with species traits. Evolution, 59, 1–12.

See Also

branching.times, diversi.gof, diversi.time, ltt.plot, birthdeath, bd.ext, yule

Examples

### a simple example with some random data
data(bird.orders)
x <- rnorm(45) # the tree has 23 tips and 22 nodes
### the standard-error for x should be as large as
### the estimated parameter
yule.cov(bird.orders, ~ x)
### compare with the simple Yule model, eventually
### with a likelihood ratio test
yule(bird.orders)
### another example with a tree that has a multichotomy
data(bird.families)
y <- rnorm(272) # 137 tips + 135 nodes
yule.cov(bird.families, ~ y)
yule(multi2di(bird.families))

[Package ape version 2.3 Index]