Sunday, February 24, 2013

Major update to the R-package geomorph

Hi Folks,

We have just completed a major update to the R-package geomorph:
software for geometric morphometric analyses in R.  Included are several new functions to  carry out additional GM analyses, as well as enhancements of existing functions and analyses.  The major highlights of these changes are:

- New function for the analysis of bilateral symmetry (both object and matching symmetry)
- Integration and modularity functions improved
- Comparison of modular partitions can allow more than two partitions
- New function for writing tps files
- New function for adjusting articulation angles
- Expanded functionality of motion and trajectory analysis function
- Additional data output options included in plotting and analysis routines

Full details of changes can be found in the geomorph manual (found on link below).

Geomorph can be downloaded from the CRAN website and package


  1. Hello,

    I need help with assigning groups to the data. I'm using a tps data file. How can I add the species names and groups to it?

    Thank you!

  2. Hello, in your TPS file, there might be an 'ID=' or 'image=' line defining the name of each specimen. If this is the case, when you read in the tps file using readland.tps(), specify specID="ID" or specID="imageID" respectively. Then for groups, make an excel spreadsheet file that has the first column containing those ID names (exactly the same as they are in the TPS file), and in the second column you can assign each specimen to a group (and as many columns as different group classifications you have). You can save this as a .csv file and read it into R with read.csv(). Alternatively, you can make this in R by making a vector with the group assignments (in the order of the specimens in the TPS file) and assign the specimen IDs to this vector using name().

    Alternatively if your TPS file doesn't contain and specimen IDs, you will need to make a spreadsheet of the specimen IDs and group assignments, in the order which the specimens appear in the TPS file, and import that. You can then assign the names to the 3D array made by readland.tps by dimnames(mydata)[[3]] <- classifier$IDS
    Where classifier$IDS is the column of the csv file you have uploaded that contains the ID names.

    Hope this helps. Please email me at sherratt[at] if you need further assistance.