Learn R Programming

ape (version 5.1)

compar.lynch: Lynch's Comparative Method

Description

This function computes the heritable additive value and the residual deviation for continous characters, taking into account the phylogenetic relationships among species, following the comparative method described in Lynch (1991).

Usage

compar.lynch(x, G, eps = 1e-4)

Arguments

x

eiher a matrix, a vector, or a data.frame containing the data with species as rows and variables as columns.

G

a matrix that can be interpreted as an among-species correlation matrix.

eps

a numeric value to detect convergence of the EM algorithm.

Value

A list with the following components:

vare

estimated residual variance-covariance matrix.

vara

estimated additive effect variance covariance matrix.

u

estimates of the phylogeny-wide means.

A

addtitive value estimates.

E

residual values estimates.

lik

logarithm of the likelihood for the entire set of observed taxon-specific mean.

Details

The parameter estimates are computed following the EM (expectation-maximization) algorithm. This algorithm usually leads to convergence but may lead to local optima of the likelihood function. It is recommended to run several times the function in order to detect these potential local optima. The `optimal' value for eps depends actually on the range of the data and may be changed by the user in order to check the stability of the parameter estimates. Convergence occurs when the differences between two successive iterations of the EM algorithm leads to differences between both residual and additive values less than or equal to eps.

References

Lynch, M. (1991) Methods for the analysis of comparative data in evolutionary biology. Evolution, 45, 1065--1080.

See Also

pic, compar.gee

Examples

Run this code
# NOT RUN {
### The example in Lynch (1991)
cat("((((Homo:0.21,Pongo:0.21):0.28,",
   "Macaca:0.49):0.13,Ateles:0.62):0.38,Galago:1.00);",
   file = "ex.tre", sep = "\n")
tree.primates <- read.tree("ex.tre")
unlink("ex.tre")
X <- c(4.09434, 3.61092, 2.37024, 2.02815, -1.46968)
Y <- c(4.74493, 3.33220, 3.36730, 2.89037, 2.30259)
compar.lynch(cbind(X, Y),
             G = vcv.phylo(tree.primates, cor = TRUE))
# }

Run the code above in your browser using DataLab