pic.ortho {ape}R Documentation

Phylogenetically Independent Orthonormal Contrasts


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.


pic.ortho(x, phy, var.contrasts = FALSE, intra = FALSE)



a numeric vector or a list of numeric vectors.


an object of class "phylo".


logical, indicates whether the expected variances of the contrasts should be returned (default to FALSE).


logical, whether to return the intraspecific contrasts.


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.


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.


Emmanuel Paradis


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


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)

[Package ape version 5.5 Index]