This function computes the orthonormal contrasts using the method
described by Felsenstein (2008). Only a single trait can be analyzed;
there can be several observations per species.
Usage
pic.ortho(x, phy, var.contrasts = FALSE, intra = FALSE)
Arguments
x
a numeric vector or a list of numeric vectors.
phy
an object of class "phylo".
var.contrasts
logical, indicates whether the expected
variances of the contrasts should be returned (default to
FALSE).
intra
logical, whether to return the intraspecific contrasts.
Details
The data x can be in two forms: a vector if there is a single
observation for each species, or a list whose elements are vectors
containing the individual observations for each species. These vectors
may be of different lengths.
If x has names, its values are matched to the tip labels of
phy, otherwise its values are taken to be in the same order
than the tip labels of phy.
Value
either a vector of contrasts, or a two-column matrix with the
contrasts in the first column and their expected variances in the
second column (if var.contrasts = TRUE). If the tree has node
labels, these are used as labels of the returned object.
If intra = TRUE, the attribute "intra", a list of
vectors with the intraspecific contrasts or NULL for the
species with a one observation, is attached to the returned object.
Author(s)
Emmanuel Paradis
References
Felsenstein, J. (2008) Comparative methods with sampling error and
within-species variation: Contrasts revisited and revised.
American Naturalist, 171, 713–725.
See Also
pic, varCompPhylip
Examples
tr <- rcoal(30)
### a single observation per species:
x <- rTraitCont(tr)
pic.ortho(x, tr)
pic.ortho(x, tr, TRUE)
### different number of observations per species:
x <- lapply(sample(1:5, 30, TRUE), rnorm)
pic.ortho(x, tr, intra = TRUE)