physignal.eigen
for evaluating the dimensions of phylogenetic signal in multivariate datagm.prcomp
to allow the phylogeny to be scaled to unit lengthgroups.first
argument to gm.measurement.error
, to optionally include groups in ANOVA table.perm.index
within morphol.disparity
.gm.prcomp
anc.BM
.anc.BM
integration.Vrel
and phylogeny checksbilat.symmetry
and removed signed.AIreadland.tps
and negNA = TRUEplot.gm.prcomp
phylo.par
defaultgm.measurement.error
estimate.missing
for shapes files and TPS optionbilat.symmetry
readmulti.tps
lambda.opt
internal function, for use in physignal.z
, which precluded verbose results.readland.tps
and readmulti.tps
, rather than just return an error.readland.tps
when warnmsg = FALSE
bilat.symmetry
(updated nested model computations)readland.tps
when curves exist but are not to be readmodularity.test
and phylo.modularity
logLikh
internal function that required matrix
class objects for calculation.procD.lm
that caused lost results.bilat.symmetry
readland.fcsv
to be consistent with SlicerMorph updates.modularity.test
and phylo.modularity
rgl
estimate.missing
for failing with method = "Reg"
to estimate landmarks.shape.predictor
examples to PLS functions.physignal.z
compare.physignal.z
plotspec
and picknplot.shape
functions to accommodate changes in rgl
integration.Vrel
compare.ZVrel
lambda
argument to procD.pgls
.Cov.proj
function to work with RRPP
compare.CR
when CR.null = TRUE.anc.BM
for singleton nodescompare.CR
when CR.null = TRUE.anc.BM
for singleton nodesmorphol.disparity
for PGLS models, consistent with gm.prcomp
approaches.module.eigen
, plus S3 generic associated functions.na.omit.geomorph.data.frame
.as.matrix
names dropping in support code.compare.pls
and compare.CR
to use box-cox transformed values.phylo.integration
and phylo.modularity
.gridPar.r
.readmulti.tps
to allow for any kind of tps input and correctly combine them into an arrayintegration.test
(only affected separate matrices).estimate.missing
(only affecting method = "Reg").bilat.symmetry
outputbilat.symmetry
to use arguments available with updates to RRPP::lm.rrpp
, taking advantage of parallel processing, C++, and turbo-charged (coefficient-suppressed) calculations to maximize speed.make_ggplot2
function for converting geomorph
plots to ggplot
objects, which can be amended.plotAllometry
where crossprod
was used instead of tcrossprod
phylo.integration
integration.test
for permutationseffect.size
plot.gm.prcomp
integration.test
and phylo.integration
compare.CR
so object labels are retainedplot.bilat.symmetry
that missed changed object output in bilat.symmetry
.integration.test
and phylo.integration
plot.gm.prcomp
3D tree plotting with time.plot = TRUEcompare.evol.rates
for univariate data and permutationsplot.gm.prcomp
.summary.gm.prcomp
as an objectwarpRefMesh
compare.evol.rates
related to R 4.0.2 changesmodularity.test
& phylo.modularity
phylo.modularity
phylo.modularity
plotRefToTarget
, allowing 3d TPS warp grids to show labels and for txt.pos to be passed to 3d plotsgridPar
readmulti.nts
function turning it into a wrapper of readland.nts
thus allowing also multiple dta files to be read in and compiledgeomorph:::pls
gm.prcomp
to include PaCA.plot.gm.prcomp
.plotspec
.lizards
.mshape
now has options (na.action
argument) for missing values.readland.fcsv
for importing landmark data from SlicerMorph .fcsv
files.combine.subsets
updated to include weighting options for relative centroid size.compare.evol.rates
and compare.multi.evol.rates
bilat.symmetry
plotGMPhyloMorphospace
and plotTangentSpace
now deprecatedbilat.symmetry
(use DA.component and FA.component)readmulti.tps
compare.evol.rates
, compare.multi.evol.rates
,integration.test
,
modularity.test
, phylo.integration
, phylo.modularity
, physignal
, two.b.pls
compare.CR
readmulti.tps
mshape
inability to distinguish between one p x k specimen and a n x pk matrix.procD.allometry
, advanced.procD.lm
and nested.update
through procD.lm
and other RRPP
tools; the second provides a comprehensive list of main geomorph functions and their use; and the third is a step-by-step demonstration of 3D digitizing proceduresreadland.tps
now includes an argument (negNA = FALSE) to define whether negative landmark coordinates should be transformed to NAs (by setting the argument to TRUE)combine.subsets
for gpagen objectsprocD.lm
to work better with missing data framesbilat.symmetry
procD.lm
outputreadland.shapes
compar.evol.rates
to utilize all simulated datasetsfixed.angle
GMfromShapes1
RRPP
plotAllometry
, gm.prcomp
, picknplot.shape
, shape.hulls
advanced.procD.lm
, nested.update
, procD.allometry
(features of these functions now found using procD.lm
)geiger
and Matrix
compare.evol.rates
for permutationsfixed.angle
to allow centroids from multiple points to be used as angle points.coords.subset
to avoid issue with arrayspecs and naming subsetted data.gpagen
gpagen
outputtrajectory.analysis
to RRPP
package and updated its argumentsmorphol.disparity
compare.evol.rates
phylo.modularity
call when groups > 2combine.subsets
trajectory.analysis
to properly center mean values for PC plotting (now in RRPP)gpagen
, to avoid errorsreadland.tps
procD.allometry
advanced.procD.lm
now performed using RRPP packagebilat.symmetry
so output shapes retain order in 'ind' factorreadland.tps
to identify missing data only when all lm coordinate are <0 and interactively prompt the user to confirm if they are to be treated as NAsplotOutliers
now allows to plot outlier configurations in order to compare their shape with the consensusplot.mshape
function added to plot the consensus configuration with numbers and linksgm.prcom
p implements raw and weighted PCA and allows S3 generic plotting of its outputreadland.shapes
allows reading a shapes file produced by StereoMorph, including landmark data and (potentially multiple) curves, and sampling semilandmarks from these curves.picknplot.shape
allows interactively picking points in geomorph scatterplots to visualize shape variation across morphospace.readland.tps
to identify missing data only when all lm dimensions are <0 and interactively prompt the user to confirm if they are to be treated as NAs.bilat.symmetry
and geomorphShapes
option to allow more flexible gpagen
options withinprocD.pgls
to use residuals from GLS model for permutationsadvanced.procD.lm
plot.procD.allometry
to allow direct control of all plotting arguments by the userplotRefToTarget
and tps to use plot.xy instead of plot, and thus avoid conflicts with plot.mshape
readland.tps
, to identify negative values and recode them as NAsphylo.modularity
compare.evol.rates
permutation method for univariate traitestimate.missing
regression approachphylo.integration
where Y-dataset contained a single variableintegration.test
when 3+ partitions with non-contiguous variablesprocD.lm
for single factor OLS models.procD.fit
procD.allometry
procD.allometry
readland.nts
when file contained a single specimen's datamorphol.disparity
when phylogeny utilizedreadland.tps
to be general to whitespace delimitationinterlmkdist
to calculate linear distances between landmarks (interlandmark distances)advanced.procD.lm
procD.lm
, procD.pgls
)procD.lm
and procD.pgls
, with limited outputcompare.evol.rates
plotTangentSpace
to pass arguments to prcomp
. Also, adjusted default tolerance to remove redundant PC dimensions.arrayspecs
arrayspecs
and two.d.array
procD.lm
plotGMPhyloMorphoSpace
to center data by phylogenetic meanread.morphologika
now supports lists of file names to return a single data objectreadland.nts
and readmulti.nts
to avoid ambiguity and resolve misinformation in previous versionsreadland.nts
to accept specimen labels with spaces in nameprocD.fit
advanced.procD.lm
plotAllSpecimens
if no colour specifiedintegration.test
and phylo.integration
compare.pls
, coords.subset
, shape.predictor
droplevels.geomorph.data.frame
added to support codeprocD.lm
and its allies to
choose the computationally fastest algorithms based on design matrix complexity
and data dimensionalityprocD.fit
to remove unused levels from factorsgeomorph.data.frame
to drop unused factor levelsmshape
to be used on lists, arrays, or matricessingle.factor
function to properly maintain factor levels when combining factorsphylo.integration
plot.procD.allometry
and plot.pls
writeland.tps
two.b.pls
procD.allometry
plot.procD.allometry
(method="PredLine")plotTangentSpace
when groups are specifiedplotTangentSpace
; function now returns PC scores automatically when assigned to objectplotTangentSpace
to return min and max shapes for all PC axes in $pc.shapesbilat.symmetry
shape componentsplot.procD.allometry
digit.curves
where open outline would be treated as closed if starting point was the end pointreadland.tps
for some tps filesphytools
procD.pgls
read.morphologika
plotTangentSpace
, plot.bilat.symmetry
, plot.procD.allometry
, plot.pls
plot.procD.allometry
to designate plotting colorsplotOutliers
advanced.procD.lm
phylo.modularity
procD.Allometry
phylo.integration
(via plot.pls
)plot.pls
, regarding best fit line and matrix reduction.gpagen
source files: indexing errors, arbitrary PC rotations for surface points, maximum iteration disparity.digitize2D
scaling issue when different scales used in each imagephylo.integration
error when 3+ partitions examinedmodularity.test
for CI intervals into matrix inputphylo.integration
so that prob(A,B|phy)~prob(B,A|phy)plotAllSpecimens
where links were not being plottedmodularity.test
, integration.test
, phylo.modularity
,
phylo.integration
, procD.allometry
, nested.update
, geomorph.data.frame
nested.update
of procD.lm
objectscompare.modular.partitions
, morphol.integr
, phylo.pls
, and plotAllometry
gpagen
physignal
. Only Kmult useddigitize2d
plotAllSpecimens
morphol.disparity$Prob.Disp
displaying NAsgpagen
compare.multi.evol.rates
for comparing rates of evolution among traitsplotGMPhyloMorphoSpace
now plots 3D phylomorphospaces and chronophylomorphospacesbilat.symmetry
, compare.modular.partitions
, globalIntegration
, morphol.integr
, and phylo.pls
gpagen
(added additional checks on alignment)advanced.ProcD.lm
: for single-factor analyses and matrix/variable inputreadland.nts
flexibility with specimen labels; now supports spaces in labelsread.ply
to allow reading meshes with many propertiesphysignal
and compare.evol.rates
: univariate data accepted as named vectordefine.links
: read and append links to existing links matrixwarpRefMesh
where normals were incorrectly assigned to new mesh3d objectreadland.tps
which read in a file containing a single specimen returned a 2D matrix rather than 3D array; this fixes the issue with digitize2d
not working for a single filemorphol.integr
where warpgrids = F did not work for 3D datasetsglobalIntegration
for use with 3D dataplotRefToTarget
method = "TPS" where the wrong options from gridPars were being passedcompare.evol.rates
generalized to use a single evolutionary rate matrixpairwiseD.test
and pairwise.slope
.test now defunctdefine.sliders.2d
and define.sliders.3d
now defunctread.morphologika
can read files with missing dataphysignal
and compare.evol.rates
digit.curves
build.template
and digitsurface
gridPar
is a new function to customize plots of plotRefToTarget
digit.curves
is a new function to calculate equidistant semilandmarks along 2D and 3D curvesdefine.sliders
is new interactive function for defining sliding semilandmarks for 2D and 3D curves, plus an automatic mode when given a sequence of semilandmarks along a curvepairwiseD.test
and pairwise.slope.test
deprecateddefine.sliders.2d
and define.sliders.3d
deprecated (replaced by define.sliders)plotAllometry
where verbose=T did not returnwarpRefMesh
generalized - now takes a mesh3d object (i.e. made from read.ply
) rather than calling read.ply
directlyread.morphologika
now reads [groups] option and adds these data to the $labels matrixplotOutliers
now has option groups to plot outliers by levels(groups) using group meansmorphol.disparity
help file updated to correctly indicate that group shape residuals, rather than shape values, themselves, are randomized in the permutation proceduregpagen
readland.tps
trajectory.analysis
gpagen
that flipped principal axesread.morphologika
with reading [wireframe] in some morphologika filesplotOutliers
function to identify potential outliersdefine.links
function for enhanced plotting of shapespairwiseD.test
and pairwise.slope.test
physignal
, compare.evol.rates
, procD.pgls
and phylo.pls
build.template
, define.modules
, define.sliders.3d
, digit.fixed
, digitsurface
, and editTemplate
)plotAllometry
input can be 2D matrix or 3D arrayread.ply
reads normals for enhanced downstream digitizing from ply filesreadland.tps
reads curves from tps files and convert them to landmarks (semilandmarks)plotTangentSpace
has enhanced plotting flexibility with labels and colorsbilat.symmetry
phylo.pls
advanced.procD.lm
for statistically comparing two or explanatory modelsplotRefToTarget
warpRefOutline
procD.pgls
procD.lm
, procD.pgls
pairwiseD.test
and pairwise.slope.test
arrayspecs
phylo.pls
plotAllometry
procD.lm
when verbose=TRUEgpagen
gpagen
with option to disablefastAnc
(phytools)procD.lm
, pairwise.D.test
and pairwise.slope.test
readland.tps
plotTangentSpace
plotAllometry
procD.pgls
added to assess high-dimensional ANOVA and regression models in a phylogenetic contextpairwise.slope.test
added to compare slopes of regression linesprocD.lm
and pairwise.d.test
digitize2d
. Function now reads multiple images and outputs TPS file, can be used with missing data, and digitizing session can be restarted where previous session stoppedtwo.b.pls
, morphol.integr
, and phylo.pls
bilat.symmetry
plotAllometry
and plotTangentSpace
plotGMPhyloMorphoSpace
digitize2d
gpagen
phylo.pls
for assessing the multivariate association between two blocks of variables in a phylogenetic contexttwo.b.pls
for assessing the multivariate association between two blocks of variablesmorphol.disparity
to compare Procrustes variance disparity among groupsProcD.lm
plotRefToTarget
, plotTangentSpace
, plotAllometry
, and bilat.symmetry
warpRefMesh
to create a mesh3d surface that represents the mean shape, findMeanSpec
to assist in choosing a template ply file for use with warpRefMesh
that identifies specimen closest to the mean shape, and defline.modules
to interactively assign landmarks to modular partitions [currently 2D only]compare.evol.rates
, phylo.pls
, morphol.integr
, two.b.pls
, physignal
, and plotGMPhyloMorphoSpace
compare.evol.rates
and physignal
bilat.symmetry
, phylo.pls
, two.b.pls
, morphol.integr
, plotAllometry
, plotTangentSpace
, physignal
compare.evol.rates
morphol.integr
arrayspecs
has been removedplotAllometry
(method = "CAC")plotAllometry
outputbuild.Template
, digit.fixed
, digitsurface
, and plotSpec
read.vrml
now defunctarrayspecs
, readland.tps
, readland.nts
, readmulti.nts
, two.d.array
, plotTangentSpace
, trajectory.analysis
, bilat.symmetry
, gpagen
bilat.symmetry
digitize2D
and updated flexibility of the functionreadmulti.nts
define.sliders.3d
to allow sliders to be in any orderpPsup
(original code from J. Claude) to not include size re-scaling by beta (underlying function used in trajectory.analysis
only)compare.evol.rates
compare.evol.rates
for comparing multivariate evolutionary rates on phylogeniesdefine.sliders.2d
and define.sliders.3d
replace curves2d
and digit.curves
plotTangentSpace
and PlotAllometry
morphol.integr
curves2d
and digit.curves
deprecatedplotAllometry
read.ply
digitsurface
, buildtemplate
, plotspec
, digitfixed
, and digitcurves
now support ply file inputplotRefToTartget
read.vrml
code for additional file formatspairwiseD.test
function addedbilat.symmetry
output includes symmetric and asymmetric shape componentsmorphol.integr
to be compatible with new CRAN guidelinesbilat.symmetry
to be compatible with new CRAN guidelinesphysignal
PlotGMPhyloMorphoSpace
readland.tps
to allow for non-numeric ID and reading a single specimen per filecurves2D
digitize2D
read.morphologika
fixed.angle
plotTangentSpace
physignal
and PlotGMPhyloMorphoSpace
physignal
on getAncStates
from geiger
, which is no longer supportedplotGMPhyloMorphoSpace
on getAncStates
from geiger
, which is no longer supportedbilat.symmetry
function addedwriteland.tps
function addedfixed.angle
function addedcompare.modular.partitions
generalized to allow 2 or more partitionsmorphol.integr
generalized to allow 2 or more partitionstrajectory.analysis
re-written to accept formulas, allowing greater flexibility for motion analysismorphol.integr
physignal
plotAllometry
plotTangentSpace
plotTangentSpace
plotTangentSpace
read.morphologika
accepts greater variety of input file formatsbuildtemplate
positional error in plot between template and scan corrected
digit.curves
error with passing objects to internal function corrected
gpgen
occasional reflection issue corrected
Added a NEWS.md
file to track changes to the package.