This function performs phylogenetic PCA (e.g., Revell 2009; Evolution).
phyl.pca(tree, Y, method="BM", mode="cov", ...)
# S3 method for phyl.pca
biplot(x, ...)
scores(object, ...)
# S3 method for phyl.pca
scores(object, ...)
phylogeny as an object of class "phylo"
.
data matrix with traits in columns.
method to obtain the correlation structure: can be "BM"
or "lambda"
.
is the mode for the PCA: can be "cov"
or "corr"
.
object of class "phyl.pca"
for biplot
method.
object of class "phyl.pca"
for scores
method.
for S3 plotting method biplot.phyl.pca
, other arguments to be passed to biplot
.
An object of class "phyl.pca"
consisting of a list with some or all of the following components:
diagonal matrix of eigenvalues.
matrix with eigenvectors in columns.
matrix with scores.
matrix with loadings.
fitted value of method="lambda"
only).
log-likelihood for method="logL"
only).
If method="lambda"
then optimize
. Optimization method can be set using the option opt
which can take values "ML"
, "REML"
, or "fixed"
. If the last of these is selected than the user should also specify a value of lambda
.
S3 methods (print
, summary
, and biplot
) are modified from code provided by Joan Maspons and are based on the same methods for objects of class "prcomp"
. Function biplot
now permits the argument choices
to be supplied, which should be a vector of length two indicated the two PC axes to be plotted.
S3 method scores
extracts or computes (for a matrix of newdata
) PC scores given an object of class "phyl.pca"
.
Revell, L. J. (2009) Size-correction and principal components for interspecific comparative studies. Evolution, 63, 3258-3268.
Revell, L. J. (2012) phytools: An R package for phylogenetic comparative biology (and other things). Methods Ecol. Evol., 3, 217-223.
# NOT RUN {
## load data from Mahler et al. (2010)
data(anoletree)
data(anole.data)
## run phylogenetic PCA
anole.pca<-phyl.pca(anoletree,anole.data)
print(anole.pca)
## plot results
plot(anole.pca)
biplot(anole.pca)
# }
Run the code above in your browser using DataLab