Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/procrustesFit.R
This function aligns a set of landmark configurations using Generalized Procrustes Analysis (GPA).
1 | procrustesFit(dat, anchor.index, x, PrinAxes = FALSE, showplot = FALSE)
|
dat |
a list containing landmark coordinate data of anchor from the specimens of interest |
anchor.index |
a numeric constant for the anchor of interest; 1 for ventral right; 2 for ventral left; 3 for dorsal right; 4 for dorsal left |
x |
a list providing the indices of specimens with anti-clockwise and clockwise orientation of
landmarks for the anchor with index |
PrinAxes |
logical; controls the argument with the same name in |
showplot |
logical; if TRUE, a scatter plot of the GPA coordinates of all specimens of interest is returned |
This function is essentially a wrapper for the gpagen
function
in the geomorph
package (version 3.0.0) to help convert
raw landmark coordinates of monogenean anchors to GPA coordinates for downstream analysis.
a list where the components are arrays of GPA coordinates for the specimens of interest
Tsung Fei Khang tfkhang@um.edu.my
Khang TF, Soo OYM, Tan WB, Lim LHS. (2016). Monogenean anchor morphometry: systematic value, phylogenetic signal, and evolution. PeerJ 4:e1668.
Adams DC, Otarola-Castillo E. (2013). geomorph: an R package for the collection and analysis of geometric morphometric shape data. Methods in Ecology and Evolution 4:393-399.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | library(geomorph)
data(ligophorus_tpsdata)
#A data processing step to parse out the orientation of landmarks
#from samples of L.parvicopulatrix
O <- matrix(0, length(ligophorus_tpsdata$parvicopulatrix), 4)
for(w in 1:length(ligophorus_tpsdata$parvicopulatrix)){
result <- mapply(function(k)
anglePolygon(matrix2list(ligophorus_tpsdata$parvicopulatrix[[w]][(11*(k-1)+1):(11*k),]),
degree=TRUE), k=1:4)
result_angle <- mapply(function(k) list(result[[2*k-1]]), k=1:4)
result_orientation <- mapply(function(k) list(result[[2*k]]), k=1:4)
names(result_angle) <- names(result_orientation) <- c("VR","VL","DR","DL")
O[w,] <- unlist(result_orientation)
}
mdir <- apply(O, 2, function(k) which(k == "m") )
pdir <- apply(O, 2, function(k) which(k == "p") )
e <- 1 #Ventral right anchor
result <- procrustesFit(ligophorus_tpsdata$parvicopulatrix, e,
list(mdir[[e]], pdir[[e]]), PrinAxes=TRUE, showplot=TRUE)
#Standardize the x-coordinate of Landmark 7 by rotating the x-coordinate
#of its mean GPA xy-coordinate to x=0.
coordinates <- stdLM(result$coords, reflect=FALSE, swap=TRUE, sgn=c(1,-1))
plotLM(coordinates, "VR", pointscale=0.8,axispointscale=0.8,
meansize=1.2,polygon.outline=TRUE,c(-.6,.6),c(-.6,.6) )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.