Learn R Programming

geomorph (version 2.0.1)

physignal: Assessing phylogenetic signal in morphometric data

Description

Function calculates the degree of phylogenetic signal from a set of Procrustes-aligned specimens

Usage

physignal(phy, A, iter = 249, method = c("Kmult", "SSC"))

Arguments

phy
A phylogenetic tree of {class phylo} - see read.tree in library ape
A
A matrix (n x [p x k]) or 3D array (p x k x n) containing GPA-aligned coordinates for a set of specimens
iter
Number of iterations for significance testing
method
Method for estimating phylogenetic signal (Kmult or SSC)

Value

  • Function returns a list with the following components:
  • phy.signalThe estimate of phylogenetic signal
  • pvalueThe significance level of the observed signal

Details

The function estimates the degree of phylogenetic signal present in shape data for a given phylogeny. It is assumed that the landmarks have previously been aligned using Generalized Procrustes Analysis (GPA) [e.g., with gpagen]. Two approaches may be used to quantify phylogenetic signal. First, a multivariate version of the K-statistic may be utilized (Kmult: Adams 2014). This value evaluates the degree of phylogenetic signal in a dataset relative to what is expected under a Brownian motion model of evolution. For geometric morphometric data, the approach is a mathematical generalization of the Kappa statistic (Blomberg et al. 2003) appropriate for highly multivariate data (see Adams 2014). The second approach estimates phylogenetic signal as the sum of squared changes (SSC) in shape along all branches of the phylogeny (Klingenberg and Gidaszewski 2010). Significance testing is found by permuting the shape data among the tips of the phylogeny. Note that this method can be quite slow as ancestral states must be estimated for every iteration. For both approaches a plot of the specimens in tangent space with the phylogeny superimposed is included (NOTE: if ancestral states are desired, run plotGMPhyloMorphoSpace). The tree must have number of tips equal to number of taxa in the data matrix (e.g. drop.tip). And, tip labels of the tree MUST be exactly the same as the taxa names in the landmark data matrix (check using match). This function can be used with univariate data (i.e. centroid size) if imported as matrix with rownames giving the taxa names.

References

Blomberg SP, Garland T, Ives AR. 2003. Testing for phylogenetic signal in comparative data: behavioral traits are more labile. Evolution, 57:717-745. Klingenberg, C. P., and N. A. Gidaszewski. 2010. Testing and quantifying phylogenetic signals and homoplasy in morphometric data. Syst. Biol. 59:245-261. Adams, D.C. 2014. A generalized K statistic for estimating phylogenetic signal from shape and other high-dimensional multivariate data. Systematic Biology. (In Press).

Examples

Run this code
data(plethspecies)
Y.gpa<-gpagen(plethspecies$land)    #GPA-alignment

#Test for phylogenetic signal in shape
physignal(plethspecies$phy,Y.gpa$coords,method="Kmult",iter=99)

#Test for phylogenetic signal in size
Csize <- matrix(Y.gpa$Csize, dimnames=list(names(Y.gpa$Csize))) # make matrix Csize with names
physignal(plethspecies$phy,Csize,method="Kmult",iter=99)

Run the code above in your browser using DataLab