Sunday, May 24, 2015

Geomorph update 2.1.5 Now Available!

Geomorph users,

We have uploaded version 2.1.5 of geomorph* to CRAN. The windows and mac binaries have been compiled and the tarball is available.

Sunday, May 3, 2015

Geomorph beta in development (2.1.5)

Dear geomorph users,

We've been busy adding some new functions to the forthcoming v.2.1.5, currently in beta stage and available on gitHub (installed using: devtools::install_github("EmSherratt/geomorph",ref = "Develop")). Users be aware that we strongly discourage you from publishing results with this version, unless you check with us first.

NEW Functions:

  •  gridPar function to customise plots of plotRefToTarget
  •  digit.curves function to calculate equidistant semilandmarks along 2D and 3D curves
  •  define.sliders interactive function for defining sliding semilandmarks for 2D and 3D curves, plus an automatic mode when given a sequence of semilandmarks along a curve.

Feedback most welcome!

Emma, Mike and Dean.

p.s. Twitter users can follow me with @DrEmSherratt to send quick comments or suggestions.

Saturday, April 4, 2015

Geomorph update 2.1.4 Now Available!

Geomorph users,

We have uploaded version 2.1.4 of geomorph to CRAN. The windows and mac binaries have been compiled and the tarball is available*.

Tips & Tricks 8: Examining Replicate Error

Geomorph users,

When starting out in a geometric morphometrics study, the common questions are ones of repeatability and measurement error.

How much of the variation in the Procrustes residuals is due to human (digitizing) error? How much is due to paralax (2D photographs)? How much is due to the threshold choice (3D surface meshes)?

Today we use the Procrustes ANOVA function to learn about how to check for repeatability and in doing so learn also about nested ANOVAs.

Exercise 8 - Examining Replicate Error with procD.lm().


Wednesday, April 1, 2015

ANOVAs and Geomorph

Within geomorph are several functions that perform analysis of variance (ANOVA), including
procD.lm()
procD.pgls()
advanced.procD.lm()
pairwiseD.test()
pairwise.slope.test()
trajectory,analysis()
bilat.symmetry()
plotAllometry()

Wednesday, March 25, 2015

Geomorph and Multivariate Datasets

Did you know that geomorph is not just for landmark-based geometric morphometric (shape) data?

We are committed to providing statistical tools for multivariate AND multidimensional morphometric data.

As laid out in the recent series of papers on Phylogenetic Comparative Methods for high-dimensional data (Adams 2014a, Adams 2014b, Adams 2014c, Adams & Felice 2014), harnessing the R-mode – Q-mode equivalency as first shown by Gower (1966) has allowed us to overcome the issue of greater variables (p) than specimens (n).

Certainly geometric morphometrics has been doing this for many years, using the Procrustes ANOVA (Goodall 1991) which is a distance-based (Q-mode) approach. The distance-based PGLS has a substantially better type I error than previously implemented approaches (Adams & Collyer 2015).

The issue, in short is that when you have p greater than or very close to n, there will be problems; your test will lose power or worse it simply will not work. The solution is to use the functions below that are designed for multivariate datasets (e.g. sets of linear measurements*) as well as multidimensional shape data (from landmark coordinates).

Here is a list of geomorph functions that can take 
multivariate morphometric datasets for statistical analysis:

Monday, March 23, 2015

News So Far for Geomorph v2.1.4beta

Dear geomorph users,

we have so far recognised and fixed the following bugs known to be in geomorph v.2.1.3 on CRAN, and these are available in the GitHub repository of v.2.1.4beta:

  BUG FIXES

  •     Corrected error readland.tps() "Error in pts[i, 1] : subscript out of bounds"
  •     Corrected errors trajectory.analysis()
  •     Corrected an issue with gpagen() that flipped principal axes
  •     Fixed error in read.morphologika() with reading [wireframe] in some morphologika     files (thanks to Marc Jones of Uni of Adelaide for pointing this out)