conv.map | R Documentation |

Given vectors of RW (or PC) scores, the function selects the RW(PC) axes which best account for convergence and maps convergent areas on the corresponding 3D surfaces.

conv.map(dataset,pcs,mshape,conv=NULL, exclude=NULL,out.rem=TRUE, show.consensus=FALSE, plot=TRUE,col="blue",names = TRUE)

`dataset` |
data frame (or matrix) with the RW (or PC) scores of the group or species to be compared. |

`pcs` |
RW (or PC) vectors (eigenvectors of the covariance matrix) of all the samples. |

`mshape` |
the Consensus configuration. |

`conv` |
a named character vector indicating convergent species as
(indicated as "conv" in |

`exclude` |
integer: the index number of the RW (or PC) to be excluded from the comparison. |

`out.rem` |
logical: if |

`show.consensus` |
logical: if |

`plot` |
logical: if |

`col` |
character: the colour for the plot. |

`names` |
logical: if |

`conv.map`

automatically builds a 3D mesh on the mean shape
calculated from the Relative Warp Analysis (RWA) or Principal Component
Analysis (PCA) (Schlager 2017) by applying the function
`vcgBallPivoting`

(Rvcg). `conv.map`

further
gives the opportunity to exclude some RW (or PC) axes from the analysis
because, for example, in most cases the first axes are mainly related to
high-order morphological differences driven by phylogeny and size
variations. `conv.map`

finds and plots the strength of convergence on
3D surfaces. An output of `conv.map`

(if the dataset contains a number
equal or lower then 5 items) is an interactive plot mapping the convergence
on the 3D models. In the upper triangle of the 3D multiple layouts the rows
representing the reference models and the columns the target models. On the
contrary, on the lower triangle the rows correspond to the target models
and the columns the reference models. In the calculation of the differences
of areas we supply the possibility to find and remove outliers from the
vectors of areas calculated on the reference and target surfaces. We
suggest considering this possibility if the mesh may contain degenerate
facets.

The function returns a list including:

**$angle.compare**data frame including the real angles between the given shape vectors, the angles conv computed between vectors of the selected RWs (or PCs), the angles between vectors of the non-selected RWs (or PCs), the difference conv, and its p values.**$selected.pcs**RWs (or PCs) axes selected for convergence.**$average.dist**symmetric matrix of pairwise distances between 3D surfaces.**$suface1**list of coloured surfaces, if two meshes are given, it represents convergence between mesh A and B charted on mesh A.**$suface2**list of coloured surfaces, if two meshes are given, it represents convergence between mesh A and B charted on mesh B.-
**$scale**the value used to set the colour gradient, computed as the maximum of all differences between each surface and the mean shape.

Marina Melchionna, Antonio Profico, Silvia Castiglione, Carmela Serio, Gabriele Sansalone, Pasquale Raia

Schlager, S. (2017). *Morpho and Rvcg–Shape Analysis in R:
R-Packages for geometric morphometrics, shape analysis and surface
manipulations.* In: Statistical shape and deformation analysis. Academic
Press.
Melchionna, M., Profico, A., Castiglione, S., Serio, C., Mondanaro,
A., Modafferi, M., Tamagnini, D., Maiorano, L. , Raia, P., Witmer, L.M.,
Wroe, S., & Sansalone, G. (2021). A method for mapping morphological
convergence on three-dimensional digital models: the case of the mammalian
sabre-tooth. Palaeontology, 64, 573–584. doi:10.1111/pala.12542

`search.conv`

vignette ;
`relWarps`

; `procSym`

## Not run: data(DataSimians) DataSimians$pca->pca ## Case 1. Convergent species only dato<-pca$PCscores[c(1,4),] CM<-conv.map(dataset = dato, pcs = pca$PCs, mshape = pca$mshape, show.consensus = TRUE) ## Case 2. Convergent and non-convergent species dato<-pca$PCscores[c(1,4,7),] conv<-c("conv","conv","noconv") names(conv)<-rownames(dato) CM<-conv.map(dataset = dato, pcs = pca$PCs, mshape = pca$mshape, conv = conv, show.consensus = TRUE, col = "orange") ## End(Not run)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.