Learn R Programming

geomorph (version 4.0.8)

compare.multi.evol.rates: Comparing net rates of evolution among traits on phylogenies

Description

Function calculates net rates of shape evolution for two or more multi-dimensional traits on a phylogeny from a set of Procrustes shape variables

Usage

compare.multi.evol.rates(
  A,
  gp,
  phy,
  Subset = TRUE,
  iter = 999,
  seed = NULL,
  print.progress = TRUE
)

Value

An object of class "evolrate" returns a list of the following:

rates.all

The phylogenetic evolutionary rates for each trait.

rate.ratio

The ratio of maximum to minimum evolutionary rates.

pvalue

The significance level of the observed rate ratio.

Effect.Size

The multivariate effect size associated with sigma.d.ratio.

pvalue.gps

Matrix of pairwise significance levels comparing each pair of rates.

call

The matched call.

Arguments

A

A matrix (n x [p x k]) or 3D array (p x k x n) containing Procrustes shape variables for a set of specimens

gp

A factor array designating group membership for landmarks

phy

A phylogenetic tree of class = "phylo" - see read.tree in library ape

Subset

A logical value indicating whether or not the traits are subsets from a single landmark configuration (default is TRUE)

iter

Number of iterations for significance testing

seed

An optional argument for setting the seed for random permutations of the resampling procedure. If left NULL (the default), the exact same P-values will be found for repeated runs of the analysis (with the same number of iterations). If seed = "random", a random seed will be used, and P-values will vary. One can also specify an integer for specific seed values, which might be of interest for advanced users.

print.progress

A logical value to indicate whether a progress bar should be printed to the screen. This is helpful for long-running analyses.

Author

Dean Adams (used in some internal computations)

Details

The function compares net rates of morphological evolution for two or more multi-dimensional traits on a phylogeny, under a Brownian motion model of evolution following the procedure of Denton and Adams (2015). It is assumed that the landmarks for all traits have previously been aligned using Generalized Procrustes Analysis (GPA) [e.g., with gpagen]. The approach calculates multivariate net evolutionary rates found from the outer-product matrix of between species differences in morphospace after phylogenetic transformation (sensu Adams 2014). From the data the net rate of shape evolution for each multi-dimensional trait is calculated, and a ratio of rates is obtained. If three or more traits are used, the ratio of the maximum to minimum rate is used as a test statistic (see Denton and Adams 2015). Significance testing is accomplished by phylogenetic simulation in which tips data are obtained under Brownian motion using a an evolutionary rate matrix for all traits, which contains a common rate for all trait dimensions (Denton and Adams 2015). If three or more traits are used, pairwise p-values are also returned. In addition, a multivariate effect size describing the strength of the effect is estimated from the empirically-generated sampling distribution (see details in Adams and Collyer 2019). Values from these distributions are log-transformed prior to effect size estimation, to assure normally distributed data.

The shape data may be input as either a 3D array (p x k x n) containing Procrustes shape variables for a set of species, or as a matrix (n x [p x k]) whose rows correspond to each species. In both cases, species names must be provided as rownames (for a matrix) or as the names of the third dimension of the array. Landmark groups for each trait are then specified by a factor array designating which landmark belongs to which trait. Additionally, if the method is to be used with other data (i.e., a set of length measurements), the input A should be a matrix of n rows of species and p columns of variables. In this case, the grouping factor should have each variable assigned to a trait group.

Comparisons of net evolutionary rates between traits may be accomplished in one of two ways. First, if the traits are are part of a single shape that was subjected to a single Procrustes superimposition (i.e., they are subsets of landmarks in the configuration), then the procedure is performed without alteration as described above. However, if the shapes are derived from different structures (shapes) that were superimposed separately, then the estimates of the rates must take the difference in the number of trait dimensions into account (see discussion in Denton and Adams 2015). This option is identified by selecting Subset = FALSE.

With compare.multi.evol.rates, the generic functions print, summary, and plot all work. The generic function, plot, produces a histogram of random rate-ratios associated with the resampling procedure.

References

Adams, D.C. 2014. Quantifying and comparing phylogenetic evolutionary rates for shape and other high-dimensional phenotypic data. Syst. Biol. 63:166-177.

Denton, J.S.S., and D.C. Adams. 2015. A new phylogenetic test for comparing multiple high-dimensional evolutionary rates suggests interplay of evolutionary rates and modularity in lanternfishes (Myctophiformes; Myctophidae). Evolution. 69:2425-2440.

Adams, D.C. and M.L. Collyer. 2019. Comparing the strength of modular signal, and evaluating alternative modular hypotheses, using covariance ratio effect sizes with morphometric data. Evolution. 73:2352-2367.

Examples

Run this code
if (FALSE) {

data(plethspecies) 
Y.gpa <- gpagen(plethspecies$land)    #GPA-alignment    
land.gp <- c("A","A","A","A","A","B","B","B","B","B","B")  
    #mandible and cranium subsets

EMR <- compare.multi.evol.rates(A = Y.gpa$coords, gp = land.gp, 
    Subset = TRUE, phy = plethspecies$phy)
summary(EMR)
plot(EMR)
}

Run the code above in your browser using DataLab