physignal.eigen.physignal.eigen.physignal.eigen for evaluating thedimensions of phylogenetic signal in multivariate datagm.prcomp to allow the phylogeny tobe scaled to unit lengthgroups.first argument togm.measurement.error, to optionally include groups in ANOVAtable.perm.index withinmorphol.disparity.gm.prcomp.anc.BM.anc.BMintegration.Vrel and phylogenychecksbilat.symmetry andremoved signed.AIreadland.tps and negNA = TRUEplot.gm.prcompphylo.pardefaultgm.measurement.errorestimate.missing for shapes files andTPS optionbilat.symmetryreadmulti.tpslambda.opt internal function, for useinphysignal.z, which precluded verbose results.readland.tps andreadmulti.tps, rather than just return an error.readland.tps whenwarnmsg = FALSEbilat.symmetry (updated nested modelcomputations)readland.tps when curves exist but arenot to be readmodularity.test andphylo.modularitylogLikh internal function that requiredmatrix class objects for calculation.procD.lm that caused lostresults.bilat.symmetryreadland.fcsv to be consistent with SlicerMorphupdates.modularity.test andphylo.modularityrglestimate.missing for failingwithmethod = "Reg" to estimate landmarks.shape.predictor examples to PLS functions.physignal.zcompare.physignal.zplotspec andpicknplot.shapefunctions to accommodate changes inrglintegration.Vrelcompare.ZVrellambda argument toprocD.pgls.Cov.proj function to work withRRPPcompare.CR when CR.null = TRUE.anc.BM for singleton nodescompare.CR when CR.null = TRUE.anc.BM for singleton nodesmorphol.disparity forPGLS models, consistent withgm.prcomp approaches.module.eigen, plus S3 generic associatedfunctions.na.omit.geomorph.data.frame.as.matrix names dropping in supportcode.compare.pls andcompare.CR to use box-cox transformed values.phylo.integration andphylo.modularity.gridPar.r.readmulti.tps to allow for any kind of tpsinput and correctly combine them into an arrayintegration.test (only affectedseparate matrices).estimate.missing (only affecting method =“Reg”).bilat.symmetry outputbilat.symmetry to use arguments available withupdates toRRPP::lm.rrpp, taking advantage of parallelprocessing, C++, and turbo-charged (coefficient-suppressed) calculationsto maximize speed.make_ggplot2function for convertinggeomorph plots toggplot objects, which can be amended.plotAllometry wherecrossprodwas used instead oftcrossprodphylo.integrationintegration.test for permutationseffect.sizeplot.gm.prcompintegration.testandphylo.integrationcompare.CR so object labels areretainedplot.bilat.symmetry that missed changedobject output inbilat.symmetry.integration.test andphylo.integrationplot.gm.prcomp 3D tree plotting withtime.plot = TRUEcompare.evol.rates for univariate dataand permutationsplot.gm.prcomp.summary.gm.prcomp as anobjectwarpRefMeshcompare.evol.ratesrelated to R 4.0.2 changesmodularity.test &phylo.modularityphylo.modularityphylo.modularityplotRefToTarget, allowing 3d TPS warpgrids to show labels and for txt.pos to be passed to 3d plotsgridParreadmulti.nts function turning it into awrapper ofreadland.nts thus allowing also multiple dtafiles to be read in and compiledgeomorph:::plsgm.prcomp to include PaCA.plot.gm.prcomp.plotspec.lizards.mshape now has options (na.actionargument) for missing values.readland.fcsv for importing landmark datafrom SlicerMorph.fcsv files.combine.subsets updated to include weighting optionsfor relative centroid size.compare.evol.rates andcompare.multi.evol.ratesbilat.symmetryplotGMPhyloMorphospace andplotTangentSpace now deprecatedbilat.symmetry (useDA.component and FA.component)readmulti.tpscompare.evol.rates,compare.multi.evol.rates,integration.test,modularity.test,phylo.integration,phylo.modularity,physignal,two.b.plscompare.CRreadmulti.tpsmshape inability to distinguish between one p x kspecimen and a n x pk matrix.procD.allometry,advanced.procD.lm andnested.update throughprocD.lm and otherRRPP tools; the second provides a comprehensive list ofmain geomorph functions and their use; and the third is a step-by-stepdemonstration of 3D digitizing proceduresreadland.tps now includes an argument (negNA = FALSE)to define whether negative landmark coordinates should be transformed toNAs (by setting the argument to TRUE)combine.subsets for gpagen objectsprocD.lm to work better with missing dataframesbilat.symmetryprocD.lm outputreadland.shapescompar.evol.rates to utilize allsimulated datasetsfixed.angleGMfromShapes1RRPPplotAllometry,gm.prcomp,picknplot.shape,shape.hullsadvanced.procD.lm,nested.update,procD.allometry (features ofthese functions now found usingprocD.lm)geiger andMatrixcompare.evol.rates forpermutationsfixed.angle to allow centroids from multiplepoints to be used as angle points.coords.subset to avoid issue with arrayspecsand naming subsetted data.gpagengpagen outputtrajectory.analysis toRRPP packageand updated its argumentsmorphol.disparitycompare.evol.ratesphylo.modularity call when groups >2combine.subsetstrajectory.analysis to properly center meanvalues for PC plotting (now in RRPP)gpagen, toavoid errorsreadland.tpsprocD.allometryadvanced.procD.lm now performed usingRRPP packagebilat.symmetry so output shapesretain order in ‘ind’ factorreadland.tps to identify missing data onlywhen all lm coordinate are <0 and interactively prompt the user toconfirm if they are to be treated as NAsplotOutliers now allows to plot outlier configurationsin order to compare their shape with the consensusplot.mshape function added to plot the consensusconfiguration with numbers and linksgm.prcomp implements raw and weighted PCAand allows S3 generic plotting of its outputreadland.shapes allows reading a shapesfile produced by StereoMorph, including landmark data and (potentiallymultiple) curves, and sampling semilandmarks from these curves.picknplot.shape allows interactivelypicking points in geomorph scatterplots to visualize shape variationacross morphospace.readland.tps to identifymissing data only when all lm dimensions are <0 and interactivelyprompt the user to confirm if they are to be treated as NAs.bilat.symmetry andgeomorphShapes option to allow more flexiblegpagen options withinprocD.pgls to use residuals from GLS model forpermutationsadvanced.procD.lmplot.procD.allometry to allow direct controlof all plotting arguments by the userplotRefToTarget and tps to use plot.xy insteadof plot, and thus avoid conflicts withplot.mshapereadland.tps, toidentify negative values and recode them as NAsphylo.modularitycompare.evol.rates permutation methodfor univariate traitestimate.missing regressionapproachphylo.integration where Y-datasetcontained a single variableintegration.test when 3+ partitionswith non-contiguous variablesprocD.lm forsingle factor OLS models.procD.fitprocD.allometryprocD.allometryreadland.nts when filecontained a single specimen’s datamorphol.disparitywhen phylogeny utilizedreadland.tps to be general to whitespacedelimitationinterlmkdist to calculate lineardistances between landmarks (interlandmark distances)advanced.procD.lmprocD.lm,procD.pgls)procD.lm andprocD.pgls, with limitedoutputcompare.evol.ratesplotTangentSpace to passarguments toprcomp. Also, adjusted default tolerance toremove redundant PC dimensions.arrayspecsarrayspecsandtwo.d.arrayprocD.lmplotGMPhyloMorphoSpace to center data byphylogenetic meanread.morphologika now supports lists of file names toreturn a single data objectreadland.nts andreadmulti.nts to avoid ambiguity and resolve misinformationin previous versionsreadland.nts to accept specimen labels withspaces in nameprocD.fitadvanced.procD.lmplotAllSpecimens if nocolour specifiedintegration.test andphylo.integrationcompare.pls,coords.subset,shape.predictordroplevels.geomorph.data.frame added to supportcodeprocD.lm and itsallies to choose the computationally fastest algorithms based on designmatrix complexity and data dimensionalityprocD.fit to remove unused levels fromfactorsgeomorph.data.frame to dropunused factor levelsmshape to be used on lists, arrays, ormatricessingle.factor function to properly maintainfactor levels when combining factorsphylo.integrationplot.procD.allometry andplot.plswriteland.tpstwo.b.plsprocD.allometryplot.procD.allometry (method=“PredLine”)plotTangentSpace when groups arespecifiedplotTangentSpace; function nowreturns PC scores automatically when assigned to objectplotTangentSpace to return min and max shapesfor all PC axes in $pc.shapesbilat.symmetry shapecomponentsplot.procD.allometrydigit.curves where open outline would betreated as closed if starting point was the end pointreadland.tps for sometps filesphytoolsprocD.pglsread.morphologikaplotTangentSpace,plot.bilat.symmetry,plot.procD.allometry,plot.plsplot.procD.allometry todesignate plotting colorsplotOutliersadvanced.procD.lmphylo.modularityprocD.Allometryphylo.integration(viaplot.pls)plot.pls, regarding bestfit line and matrix reduction.gpagen source files:indexing errors, arbitrary PC rotations for surface points, maximumiteration disparity.digitize2D scaling issue when different scalesused in each imagephylo.integration error when 3+ partitionsexaminedmodularity.test for CI intervals intomatrix inputphylo.integration sothat prob(A,B|phy)~prob(B,A|phy)plotAllSpecimens where links were notbeing plottedmodularity.test,integration.test,phylo.modularity,phylo.integration,procD.allometry,nested.update,geomorph.data.framenested.update ofprocD.lmobjectscompare.modular.partitions,morphol.integr,phylo.pls, andplotAllometrygpagenphysignal. Only Kmultuseddigitize2dplotAllSpecimensmorphol.disparity$Prob.Disp displaying NAsgpagencompare.multi.evol.rates for comparingrates of evolution among traitsplotGMPhyloMorphoSpace now plots 3D phylomorphospacesand chronophylomorphospacesbilat.symmetry,compare.modular.partitions,globalIntegration,morphol.integr, andphylo.plsgpagen (added additionalchecks on alignment)advanced.ProcD.lm: forsingle-factor analyses and matrix/variable inputreadland.nts flexibility with specimen labels;now supports spaces in labelsread.ply to allow reading meshes with manypropertiesphysignal andcompare.evol.rates: univariate data accepted as namedvectordefine.links: read and append linksto existing links matrixwarpRefMesh where normals wereincorrectly assigned to new mesh3d objectreadland.tps which read in a filecontaining a single specimen returned a 2D matrix rather than 3D array;this fixes the issue withdigitize2d not working for asingle filemorphol.integr where warpgrids = Fdid not work for 3D datasetsglobalIntegration for use with 3DdataplotRefToTarget method = “TPS” wherethe wrong options from gridPars were being passedcompare.evol.ratesgeneralized to use a single evolutionary rate matrixpairwiseD.test andpairwise.slope.test nowdefunctdefine.sliders.2d anddefine.sliders.3dnow defunctread.morphologika can read files with missing dataphysignal andcompare.evol.ratesdigit.curvesbuild.template anddigitsurfacegridPar is a new function to customize plots ofplotRefToTargetdigit.curves is a new function to calculateequidistant semilandmarks along 2D and 3D curvesdefine.sliders is new interactive function for definingsliding semilandmarks for 2D and 3D curves, plus an automatic mode whengiven a sequence of semilandmarks along a curvepairwiseD.test andpairwise.slope.testdeprecateddefine.sliders.2d anddefine.sliders.3ddeprecated (replaced by define.sliders)plotAllometry where verbose=T didnot returnwarpRefMesh generalized - now takes a mesh3d object(i.e. made fromread.ply) rather than callingread.ply directlyread.morphologika now reads [groups] option and addsthese data to the $labels matrixplotOutliers now has option groups to plot outliers bylevels(groups) using group meansmorphol.disparity help file updated to correctlyindicate that group shape residuals, rather than shape values,themselves, are randomized in the permutation proceduregpagenreadland.tpstrajectory.analysisgpagen that flipped principalaxesread.morphologika with reading[wireframe] in some morphologika filesplotOutliers function to identify potentialoutliersdefine.links function for enhanced plotting ofshapespairwiseD.test andpairwise.slope.testphysignal,compare.evol.rates,procD.pgls andphylo.plsbuild.template,define.modules,define.sliders.3d,digit.fixed,digitsurface, andeditTemplate )plotAllometry input can be 2D matrix or 3D arrayread.ply reads normals for enhanced downstreamdigitizing from ply filesreadland.tps reads curves from tps files and convertthem to landmarks (semilandmarks)plotTangentSpace has enhanced plotting flexibility withlabels and colorsbilat.symmetryphylo.plsadvanced.procD.lm for statisticallycomparing two or explanatory modelsplotRefToTargetwarpRefOutlineprocD.pglsprocD.lm,procD.pglspairwiseD.test andpairwise.slope.testarrayspecsphylo.plsplotAllometryprocD.lm when verbose=TRUEgpagengpagenwith option to disablefastAnc (phytools)procD.lm,pairwise.D.test andpairwise.slope.testreadland.tpsplotTangentSpaceplotAllometryprocD.pgls added to assess high-dimensional ANOVA andregression models in a phylogenetic contextpairwise.slope.test added to compare slopes ofregression linesprocD.lm andpairwise.d.testdigitize2d. Function now readsmultiple images and outputs TPS file, can be used with missing data, anddigitizing session can be restarted where previous session stoppedtwo.b.pls,morphol.integr, andphylo.plsbilat.symmetryplotAllometry andplotTangentSpaceplotGMPhyloMorphoSpacedigitize2dgpagenphylo.pls for assessing the multivariateassociation between two blocks of variables in a phylogeneticcontexttwo.b.pls for assessing the multivariateassociation between two blocks of variablesmorphol.disparity to compare Procrustesvariance disparity among groupsProcD.lmplotRefToTarget,plotTangentSpace,plotAllometry, andbilat.symmetrywarpRefMesh to create a mesh3dsurface that represents the mean shape,findMeanSpec toassist in choosing a template ply file for use withwarpRefMesh that identifies specimen closest to the meanshape, anddefline.modules to interactively assignlandmarks to modular partitions [currently 2D only]compare.evol.rates,phylo.pls,morphol.integr,two.b.pls,physignal, andplotGMPhyloMorphoSpacecompare.evol.rates andphysignalbilat.symmetry,phylo.pls,two.b.pls,morphol.integr,plotAllometry,plotTangentSpace,physignalcompare.evol.ratesmorphol.integrarrayspecs has been removedplotAllometry (method = “CAC”)plotAllometry outputbuild.Template,digit.fixed,digitsurface, andplotSpecread.vrml now defunctarrayspecs,readland.tps,readland.nts,readmulti.nts,two.d.array,plotTangentSpace,trajectory.analysis,bilat.symmetry,gpagenbilat.symmetrydigitize2D and updatedflexibility of the functionreadmulti.ntsdefine.sliders.3d to allowsliders to be in any orderpPsup (original code from J. Claude) to notinclude size re-scaling by beta (underlying function used intrajectory.analysis only)compare.evol.ratescompare.evol.rates for comparingmultivariate evolutionary rates on phylogeniesdefine.sliders.2d anddefine.sliders.3dreplacecurves2d anddigit.curvesplotTangentSpace andPlotAllometrymorphol.integrcurves2d anddigit.curves deprecatedplotAllometryread.plydigitsurface,buildtemplate,plotspec,digitfixed, anddigitcurves now support ply file inputplotRefToTartgetread.vrml code for additional fileformatspairwiseD.test function addedbilat.symmetry output includes symmetric and asymmetricshape componentsmorphol.integr to becompatible with new CRAN guidelinesbilat.symmetry to becompatible with new CRAN guidelinesphysignalPlotGMPhyloMorphoSpacereadland.tps to allow for non-numeric ID andreading a single specimen per filecurves2Ddigitize2Dread.morphologikafixed.angleplotTangentSpacephysignal andPlotGMPhyloMorphoSpacephysignal ongetAncStates fromgeiger, which is no longersupportedplotGMPhyloMorphoSpace ongetAncStates fromgeiger, which is no longersupportedbilat.symmetry function addedwriteland.tps function addedfixed.angle function addedcompare.modular.partitions generalized to allow 2 ormore partitionsmorphol.integr generalized to allow 2 or morepartitionstrajectory.analysis re-written to accept formulas,allowing greater flexibility for motion analysismorphol.integrphysignalplotAllometryplotTangentSpaceplotTangentSpaceplotTangentSpaceread.morphologika accepts greater variety of input fileformatsbuildtemplate positional error in plot betweentemplate and scan corrected
digit.curves error with passing objects to internalfunction corrected
gpgen occasional reflection issue corrected
Added aNEWS.md file to track changes to thepackage.