Below are links to software packages that I (with co-authors) have developed. For each, there is a link to the software, as well as the original publication in which the method was described or used. These programs are freely distributed as a service to the scientifiic community.

Users of these programs are requested to cite the corresponding papers where the methods were first described.

Disclaimer: All of the routines have been tested, but it cannot be guaranteed that they are free of bugs. If errors are identified, please contact DCA to report them.

9. geomorph: An R package for statistical shape analysis. This package (written in R) is designed for the collection and analysis of 2D and 3D landmark-based geometric morphometric shape data for 2D and 3D. The package may be obtained from the CRAN package repository at:

Please cite:

Adams, D.C., and E. Otárola-Castillo. 2013. geomorph: an R package for the collection and analysis of geometric morphometric shape data. Methods in Ecology and Evolution. 4:393-399.

[PDF of manual] [User Guide]

8. Comparing evolutionary rates for high-dimensional traits . This function (written in R) quantifies and compare evolutinary rates on a phylogeny for high-dimensional phenotypic traits like shape. Please cite:

Adams, D.C. 2014. Quantifying and comparing phylogenetic evolutionary rates for shape and other high-dimensional phenotypic data. Systematic Biology. 63:166-177. [PDF]

[Computer Code]

7. Comparing evolutionary rates among traits using likelihood. This function (written in R) uses likelihood to compare evolutinary rates among two or more traits on a phylogeny. Please cite:

Adams, D.C. 2013. Comparing evolutionary rates for different phenotypic traits on a phylogeny using likelihood. Systematic Biology. 62:181-192. [PDF]

[Computer Code]

6. Analysis of multivariate phenotypic trajectories. This function (written in R) quantifies attributes of multivariate phenotypic trajectories (their size, shape, and orientation), and statistically compares them via residual randomization. Please cite:

Adams, D.C., and M.L. Collyer. 2009. A general framework for the analysis of phenotypic trajectories in evolutionary studies. Evolution. 63:1143-1154. [PDF]

[Computer Code and Examples ]

5. Phylogenetic meta-analysis. This function (written in R) performs a meta-analysis that accounts for phylogenetic non-independence. The approach is appropriate for a fixed-effects meta-analysis, following a Brownian Motion (BM) model of evolution. Please cite:

Adams, D.C.2008. Phylogenetic meta-analysis. Evolution. 62:567-572.[PDF]

[Computer Code and Examples]

4. Analysis of multivariate phenotypic change vectors. This function (written in R), quantifies the size and orientation of multivarite phenotypic trajectories, and statistically compares them via residual randomization. Please cite:

Collyer, M. L., and D. C. Adams. 2007. Analysis of two-state multivariate phenotypic change in ecological studies. Ecology. 88:683-692. [PDF]

[Computer Code and Examples]

3. Software for meta-analysis. This software (distributed by Sinauer Associates) performs fixed effects and random effects meta-analysis for single group, categorical, and continuous meta-analytic models. Please cite:

Rosenberg, M. S., D. C. Adams, and J. Gurevitch. 2000. MetaWin: Statistical software for meta-analysis. Version 2.0. Sinauer Associates, Sunderland, Massachusetts. 128 pp.

[Link to Sinauer]

2. Adjustment of landmark data from articulated structures. This software reads a matrix of 2D landmark coordinates, and adjusts the landmarks on one subset of a structure relative to those on another, so that the angle between them is mathematically invariant among specimens (e.g,. standardarizes the position of landmarks on the jaw relative to the skull). Please cite:

Adams, D. C. 1999. Methods for shape analysis of landmark data from articulated structures. Evolutionary Ecology Research. 1:959-970. [PDF]

[Computer Code and Examples]

1. Randomization test of behavioral data. This function (written in R) performs an analysis of differences in a response variable among groups, and assesses significance using a randomization test. The approach, while general, was described for behavioral data, which are decidedly non-normally distributed. Please cite:

Adams, D. C., and C. D. Anthony. 1996. Using randomization techniques to analyse behavioural data. Animal Behaviour. 51:733-738. [PDF]

[Computer Code and Examples]