Recent Releases of dispRity
dispRity - dispRity v1.9
dispRity v1.9 (2024-11-12) distant update
NEW FEATURES
- Redesigned
multi.aceto be more modular and handle both continuous and/or discrete characters. Changes include a change in argument name fromcastor.optionsto the genericoptions.args(the options can be provided the same way as before though); and a change in default arguments formodelswhich can now be left missing (previously was"ER") and applies"ER"and"BM"for respectively discrete and continuous characters by default. - New design when using distance matrices:
dist.helpernow allows to save distance matrices in the cache, saving a lot of RAM and speeding up calculations. You can use the helper usingdispRity(..., dist.helper = my_distance_function)ordispRity(..., dist.helper = my_distance_matrix). - New
dispRity,custom.subsetsandchrono.subsetsoption: these three functions can now usedist.data = TRUEto specify that the input data is a distance matrix (and handle it accordingly). - New bootstrap options: you can now use
boot.byto specify whether bootstrap the rows (previous behaviour), the columns or both (for distance matrices). - New utility function
set.root.timeto add a root time to a tree ("phylo"), list of trees ("multiPhylo") ordispRityobject with trees. - New utility function
remove.dispRityto cleanly remove specific parts of a"dispRity"object. - New metric:
count.neighboursto count the number of neighbours for each elements within a certain radius (thanks to Rob MacDonald for the suggestion).
MINOR IMPROVEMENTS
custom.subsetscan now take a logical vector for thegroupargument.custom.subsetsnow recycles node names when using a tree to create clade groups.plotfunctions doing scatter plot now centers them without changing the scale of both axes.- changed default argument for
tree.age: the number of digits output bytree.ageis now changed from 3 to 4 by default. - the random starting parameters in
reduce.spaceare now drawn from the input data distribution which speeds up the function significantly. match.tip.edgescan now just work for colouring edges connecting a vector of tips.- remove deprecated internal requirements in
boot.matrix. - improved RAM management for
make.metric(now uses the largest requestable subset rather than the whole data for testing).
BUG FIXES
scale.dispRitynow correctly ignoresNAs when scaling.multi.acenow correctly handles invariant characters when looking for NAs.dispRityobjects with a$covarcomponent are not interpreted as bootstrapped byboot.matrixanymore.
DEPRECATED
- The
dimensionsargument fromboot.matrixis now removed: it has been redundant with thedimensionsargument in thedispRitysince v0.3!
- HTML
Published by TGuillerme over 1 year ago
dispRity - dispRity v1.8
dispRity v1.8 (2023-12-11) dispRity.multi
NEW FEATURES
- Added the dispRity.multi internal architecture now allowing users to work with different matrices and different trees as inputs for
custom.subsets,chrono.subsets,boot.matrixanddispRity. This change is not affecting the user level appart from now allowing to bypass some error messages (thanks to Mario Corio for that obvious suggestion). - New utility function:
name.subsetsfor directly accessing the subsets names of adispRityobject (basically doingnames(my_dispRity$subsets)). - New utility function:
MCMCglmm.variancefor calculating the variance for specific terms in a"MCMCglmm"model. - New statistical test:
pgls.dispRityto run PGLS test on adispRityobject with a level-2 metric and a tree (using excellentphylolmalgorithm). The new test comes with its own S3 print, summary and plot functions if the inputdispRitydata contains multiple trees or multiple matrices (running and handling the output of multiplephylolm). - New options to
get.treeutility function to get the trees in each subsets (thanks to Jack Hadfield for this suggestion and help with implementation). - New vignette compiling resources for developers to help people (and future me) to edit the package.
- New metric:
roundnessto measure the roundness of a variance-covariance matrix.
MINOR IMPROVEMENTS
- CHANGE IN DEFAULT ARGUMENTS for the
custom.subsets,chrono.subsets,boot.matrixanddispRityfunctions: thetree,FADLAD,probanddimensionsarguments is nowNULLby default (instead of missing). - CHANGE IN DEFAULT ARGUMENTS for the
projectionsfunction. The defaults are nowscale = TRUE,centre = FALSE(previouslyTRUE) andabs = FALSE(previouslyTRUE). The default arguments fordispRity.covar.projectionsremain unchanged though (scale = TRUE,centre = TRUE,abs = TRUE). randtest.dispRityfunction'ssubsetsargument now can take a list of arguments of subsets to compare isdatais adispRityobject. The call message has also been updated to be much more verbose and clear of what has been tested.- optimised internal logic for all the
projections.*functions for speed. test.metricnow also adds the slope coefficient if the optionmodelis used.- the default legends/row names when using
plot/summaryontest.metricresults are now more easy to interpret. reduce.spacehas now 25 times less chances to be stuck on a local optimum.match.tip.edgesnow also works on nodes and on"multiPhylo"objects and has a added an optionuse.parsimony(default isTRUE) to propagate the matching down the tree (i.e. if two nodes have the same unique ancestor and variable value, the ancestor is consider to have that variable value as well).- Improved margins handling in
covar.plot. - Updated test coverage here and there.
clean.datacan now also handle a list of"phylo"objects astreeinput (i.e. it does not need to be specifically classed as"multiPhylo").- Changed dependencies to
spptesttoGET. space.makercan now generate specific row names and be replicated to generate a bunch of spaces (via the new optional argumentselements.namesandreplicatesrespectively).- The
add.treeutility function now has an optional argument to override any existing trees (replace = TRUE) or not (replace = FALSE; which remains the default previous behaviour). print.dispRitynow recognises and highlights simulated data from thetreatspackage.- Improved
NAmanagement forS3functions. - Improved automatic centering and scaling for
covar.plotmaking the figures more aesthetic. remove.zero.brlennow also removes negative branch lengths and works on"multiPhylo"objects (thanks to Thomas Johnson for this suggestion).fill.dispRityhas now an extra argumentcheckto toggle the data checking on and off (more for developers).multi.aceis now described in details in the manual.slice.treehas now akeep.all.ancestorsoption to do exactly that.
BUG FIXES
- The correct types of changes are now plotted in legend when plotting the results of
test.metric. get.disparitynow correctly concatenates one dimensional results into a"numeric"(rather than a"matrix").make.metricnow internally handlescovarobject correctly (i.e. as distance matrices).- Calculating disparity for multiple matrices and customised subsets now works as expected for all metric levels.
DEPRECATED AND DEFUNCT
ellipse.volumehas been changed toellipsoid.volumeto more accurately reflect what it is measuring.rescale.dispRityhas been changed toscale.dispRityand correctly registered as a S3 method.randtest.disthas been changed todistance.randtestto avoid conflict with*.distS3 methods.
- HTML
Published by TGuillerme about 2 years ago
dispRity - dispRity v1.7.0 (2022-08-08) MacMacGlimm
NEW FEATURES
- New data function:
select.axesfor selecting and analysing the number of axes required to contain an arbitrary amount of variance. - New utility function:
randtest.distfor measuring the distance between the observed statistic and a specific quantile of the simulated statistic (thanks to Frane Babarovic for the inspiration). dispRityobjects can now contain covariance matrices as a$covarobject. Thecovarpart can be directly used for some specific metrics (usuallymy_metric.covar) and are handled by thedispRityfunction (andplot,summary, etc...) in a specific way.$covarcontains a list of two elementsVCVthe variance covariance matrix andlocthe coordinates of the centre of theVCVin space (can be left empty).$covarmatrices are effectively treated as bootstraps.- New function
covar.plotfor plotting thecovarcontent ofdispRityobjects (this is separated fromplot.dispRitybecause of the many different options). - New function:
MCMCglmm.subsetsis a function that allows to convert aMCMCglmmobject into adispRityobject. - New metric:
projections.betweena between group metric for applying theprojectionsmetric between the major covariance axis of two matrices. - New metric:
disalignment: the (dis)alignment of a group compared to another one (i.e. the rejection from group B's centre on the group A's major axis). a between group metric for applying theprojectionsmetric between the major covariance axis of two matrices. - New
dispRity.fastfunction for the fastest disparity calculations at the expanses of pretty much everything this package does. This is a really situational function. - New utility functions for manipulating
MCMCglmmobjects:MCMCglmm.traitsfor extracting the number of traits,MCMCglmm.levelsfor extracting the level names,MCMCglmm.samplefor sampling posterior IDs andMCMCglmm.covarsfor extracting variance-covariance matrices - New utility functions for
dispRityobjects withcovarmatrices:get.covarto extract the VCV matrices (or a subsample of them);axes.covarto extract the major axes of the VCV matrices andas.covarto transformdispRitymetric function to use a covar object. - New utility function
match.tip.edgefor matching tip labels as factors/characters/integer to tree edges. - New wrapper function
dispRity.covar.projectionsfor covariance projections analyses (with its associated S3 sub-class). - One new demo datasets:
charadriiformes, adata.frameand aphyloobject of 359 Charadriiformes species (gulls, plovers and sandpipers) from Cooney et al 2017 along with aMCMCglmmmodel with each clade as a random term. - Additional plot arguments
...in all thedispRityplotting functions can now be targeted to a specific plotting element. When multiple elements are plot by default (e.g. lines, legend, points, etc...) it is now possible to pass a specific...argument to the specific plotted element using the syntax<element>.<argument>(e.g.points.col = "blue"will only apply the argumentcol = "blue"to the points).
MINOR IMPROVEMENTS
- Changed default arguments for
projectionsandprojections.treemetrics: the default"position"output is now scaled, centred and absolute (see?projectionsfor details). - Formalised the grouping logic for
custom.subsetsandselect.axes. This can create some minor user level changes namely: warning messages for empty subsets now correctly mentions "subsets" (rather than subsamples); groups with incorrect elements are now always flagged as errors (rather than just ignored). The changes at the developer level is that the logic is now made smoother and exported incustom.subsets_fun.R. - Added a
function.index.csvlist (and updater) to help developers find internal functions locations easily. - Restricted the type-I error inflation warning message in
test.dispRityto only occur when using a test of class"htest". - Continuous Integration has been moved from Travis-CI to GitHub Actions.
custom.subsetscan now group elements using a"factor"vector.- Utility functions manuals are now grouped by topic (e.g. utilities related to
MCMCglmmobjects,dispRityobjects in general,dispRityobjects with subsets, ect...). It should now be much easier to find these sometimes overlooked functions. - Many updates and new entries in the
dispRitymanual, including a section oncovarandbetween.groupsspecific analyses. - Improving speed for the
test.metric(using the new officialdispRity.fastfunction). - Most core functions in the package now have a garbage memory cleaning component. This improves the speed and the memory footprint when handling very large datasets.
- Disparity results stored in
data$disparitynow don't have dimension names anymore (significantly reducing the size ofdisparityobjects). However, you can always retrieve the dimensions names usingget.disparity. - Updated the calculation options for
ellipse.volume, you can now directly specify one of the following methods:"pca"to calculate the eigen values from the ordinated matrix;"eigen"to directly do an eigen decomposition of the matrix (new); or"axes"to directly measure the axes (new); or directly provide the eigen values. - The interval function
check.subsetsnow handles the checking of"dispRity"objects much faster making most functions relying on it slightly faster (this function is typically not called more than once per function). - Updated
adonis.dispRityto the newestvegan::adonis2code (thanks to Jari Oksanen for the notification). - Removed dependency to
geigerfordtt.dispRityto avoid package maintenance errors. This leads to no changes at the user level andgeiger::dttis still acknowledged in the manual. tree.agefunction's manual now makes it clear it does not estimate tree ages.- When using
plot.dispRity(..., type = "preview"), group's colour attribution and plotting is now made so that the groups larger groups are plotted in the background and the smaller in the foreground. NAs are now better handled in internal checking functions.
BUG FIXES
- Removed warning in
dispRitywhen selecting a specific number of dimensions (old warning artefact). - Fixed bug in
plot.dispRitywhen usingtype = "preview"on bootstrapped data and fortype = "box"when the subsets to plot are from different sizes (now plots all the data correctly). - Fixed bug when using
chrono.subsetswith"continuous"method aFADLADdata containing only node values (now correctly taken into account; thanks to Peng-Wei Li for noticing it) and when usingchrono.subsetswith"gradual.*"models on empty subsets. standardGenericfunctions are now correctly interpreted as functions throughout the package.- Fixed bug when plotting level 1 disparity metric results without bootstrapped (
observed = TRUEis now used as the default). - Fixed bug when plotting
test.metricplots withsave.stepsoptions with more than two types of shifts. - Fixed bug with
null.testwhich is now correctly managing the number of dimensions inherited fromdispRityobjects (thanks to Alex Slavenko for spotting this one and the two above). - Fixed bug when using level 2 dimension metrics on unidimensional data (the metric is now detected as a level 2 correctly; thanks to Catherine Klein and Rachel Warnock for noticing that one).
- Update internal use of
is(data, c("array", "matrix"))tois.array(data)for R 4.1.2.
DEPRECATED AND DEFUNCT
matrix.dispRityandextract.dispRityare now deprecated. You should now use respectivelyget.matrixandget.disparityinstead (the arguments don't change though).
- HTML
Published by TGuillerme over 3 years ago
dispRity - dispRity v1.6.0 (2021-04-16) dispRitree
NEW FEATURES
- New metric:
projectionsthat allows to measure elements' projection on an arbitrary axis (or their distance from this axis withmeasure = "distance"). - New metric:
projections.treethat allows to measure elements' projection on axis between elements of a given tree. - New metric:
edge.length.treethe edge length from each element given a tree (with the optionto.root = TRUE/FALSEto measure the edge length from the element to the root of the tree (default = TRUE) or the nearest ancestor (FALSE). - You can now save the shifts results in
test.metricwithsave.stepsand then visualise them withplot.dispRityalong side the disparity metric test results. - New utility function
n.subsetsto directly get the number of subsets in adispRityobject. - New statistical test:
randtest.dispRitythat is a wrapper forade4::randtestapplied todispRityobjects (not dissimilar fromnull.test). - Six more demo datasets have been added to the package! These datasets are the ones used in Guillerme et al. 2020 and published originally in Beck & Lee 2014 (that one was originally the only demo dataset in the package), Wright 2017, Marcy et al. 2016, Hopkins & Pearson 2016, Jones et al. 2015, Healy et al. 2019. Thanks to all these authors for their open science work!
dispRityobjects now have a reserved$treecomponent that contain any number of trees attached to the data. This allows any function to use the reserved argument nametreeto extract directly the relevant tree from thedispRityobject, for functions likechrono.subsetsor metrics likeancestral.dist! To help manipulate thetreecomponent of thedispRityobject, you can now use the new utility functionsadd.tree,get.treeandremove.tree.
MINOR IMPROVEMENT
- Reverted R version requirement from
4.0back to3.6following Joseph Brown's issue and fix. reduce.space"random"algorithm now outputs a named logical vector (like the other algorithms!).- remove the
"only"text when printingdispRityobjects that contains "only" matrices (even though that can be 10k matrices!). - added a dedicated behaviour to
summary.dispRityfor"dispRity""randtest"objects to output "ready-to-publish" result tables. - some error messages have been updated to be slightly more useful.
- added the
estimation.detailsargument tomulti.aceallowing to also return specific arguments from the ancestral states estimation (thanks to Armin Elsler for the suggestion). - Added new option
inc.nodestoclean.datawhether to check if the nodes in the tree match the labels in the matrix. make.metricwith the optionsilent = TRUEnow outputs a list of info rather than only the level of the metric. You can reproduce the old behaviour usingmake.metric(..., silent = TRUE)$type).- Fixed bug in
plotusingpreviewwhen the given argumentpchdid not match the number of groups (the differentpcharguments are now used correctly). - Completely revamped the
ancestral.distmetric. The function is now much faster and much easier to use (due to the newdispRityobject structure). The optionsnodes.coordshas been removed and the optionfullis now changed byto.root. If you still really want to use the older version ofancestral.distusingancestral.dist.deprecatedthough. - The
dimensionsoption throughout the package (e.g. in thedispRityfunction) can now also be a vector of dimensions to take into consideration (e.g.c(1,2,5)).
BUG FIXES
chrono.subsetsnow automatically detects the number of digits to round for the internal time slicing functions (thanks to Mario Corio for finding this one).- Fixed bug in
test.metricplots that now display correctly the "top" and "bottom" changes for the "position" shift. - Fixed bug in
test.metricplots that now display the R^2 values correctly. - Fixed bug in
tree.agewhen the tree tips/node labels vector is longer than the actual number of tips/nodes in the tree.
DEPRECATED AND DEFUNCT
- Removed former version of
ancestral.dist(see NEW FEATURES above). - Removed
node.coordinatesfunction (no replacement; you must use a package version prior 1.5.10 to use this function). - Removed
get.ancestorsfunction (no replacement; you must use a package version prior 1.5.10 to use this function).
- HTML
Published by TGuillerme almost 5 years ago
dispRity - v1.5
dispRity v1.5.0 (2020-09-25) between groups
NEW FEATURES
- New function:
multi.acefor performing fast ancestral character estimations on multiple matrices (based oncastor::asr_mk_model). - New function:
reduce.space, a function to modify trait spaces imported from themomsshiny app. This function comes with a new reduction algorithm: the "evenness" algorithm for flattening the curve (thanks to Gavin Thomas for the suggestion). - New function:
test.metric(and associatedplot,printandsummaryfunctions), to apply thereduce.spacefunction on a specific space and metric to test whether a metric is picking up specific changes in trait space. - the
dispRityfunction can now use"between.groups"metrics to calculate disparity between groups rather than within groups. Themake.metricfunction is now modified to allow detection of metrics that can be applied between groups. - New metric:
group.dist, a dimension level 1 metric for between groups that measures the distance between two groups. By default, this is the minimum distance but the function takes theprobsargument allowing the distance to be between, says, the 95% CI (probs = c(0.025, 0.975))) or between the centroids (probs = c(0.5)). - New metric:
point.dist, a dimension level 2 metric for between groups that measures the distance between the rows inmatrixto a point inmatrix2. That point is the centroid by default but thepointargument can take any function.
MINOR IMPROVEMENTS
- The
dispRitypackage now depends onR (>= 4.0.0). - Many updates to the
dispRitymanual. - Many minor speed improvements across the package
- Simplified syntax for the internal
plot.dispRityS3 methods (for a potentialggpRity?). These changes should not be apparent at the user level but see the two removed options below: - removed option in
plot.dispRity: thechrono.subsetsoption (TRUE/FALSE) has now been removed. The time-slicing-ness is now automatically detected or can be specified by the user normally throughxlab. - removed option in
plot.dispRity: theylim,ylab,xlabandcoloptions have now been removed. They are now handled through...as normal genericplot(...)arguments. - removed option in
plot.dispRity: theelements.pchoption has now been removed. Thepchof the plotted elements can now be passed like other options directly to elements (e.g.elements = list(pch = 15)). - removed option in
plot.dispRity: thedimensions,matrix,nclassandcoeffoptions have now been removed. Any options for dual class plots (randtest,dtt,model.test,type = "preview"etc...) are now handled through the genericspecific.argsargument. - New option in
dtt.dispRity:scale.timeallowing to scale the time axis (like ingeiger::dtt) or not. - when plotting
chrono.subsetsdispRityobjects, the x label ticks are now rounded if possible (for nicer looking plots!). - when using automatic
chrono.subsetstime slices, the name of the time slices (their age) is now rounded for aesthetics.
BUG FIXES
- Updated all calls to the
Claddispackage to match version 0.6 (thanks to Graeme Lloyd for fixing this one!) - Updated
Claddis.ordinationfunction to be compatible with the newapeversion5.4(thanks to Emmanuel Paradis for the pointing that out). - Fixed a bug in
chrono.subsetswhere ladder trees with no tip branch lengths anmethod = "continuous"option would get stuck in an infinite loop. - Fixed a bug in
chrono.subsetswhere the"*.split"methods would bug if the last slice is through a single edge.
- HTML
Published by TGuillerme over 5 years ago
dispRity - v1.4
dispRity v1.4.0 getting faster (2020-05-05)
NEW FEATURES
- New metric:
angles, a dimension level 2 metric that measures the angle of the main axis of each dimension in a matrix (in slopes, angles or degrees). - New metric:
deviations, a dimension level 2 metric that measures the deviation of each element from a hyperplane. - Completely rewritten
char.difffunction. It now uses a way faster bitwise comparison architecture and comes with different distance methods as well as modular optional arguments on how to treat various special tokens ("?","-","&", etc.). This also allows many more distance methods (now including"hamming","manhattan","comparable","euclidean","maximum"and"mord"). - all
dispRityfunctions can now intake a single"matrix"or a"list"of matrices with the same row names and dimensions. The disparity is then calculated directly on all the matrices and summarised as before throughsummary.dispRity. This option can be used to add uncertainty to disparity calculations. For example inchrono.subsetsyou can now provide a list of trees and a list of associated ancestral state estimates; or forcustom.subsetsyou can provide a list of matrices with different values representing different estimations of the traits.
BUG FIXES
- update
reduce.matrixto work withvegan::vegdistversion 2.5-6 (thanks to Jari Oksanen for the fix). - updated class evaluations throughout the package for
Rversion4.0.0:class(.) == *is nowis(., *). - updated
...argument bug PR#16223. - In
make.metricthe argument...is now ignored if anynames(...)is"tree"or"phy". - fixed bug in
neighboursandspan.tree.lengthwhen feeding "distance" like metrics (thanks to Ashley Reaney for finding that one).
MINOR IMPROVEMENTS
- greatly improved speed of
chrono.subsetswithmethod = "continuous(now > 1000 times faster!). - minor warning message fix for
plot.dispRitywith time slices. - removed
paleotreepackage dependency (though the links to this excellent package are still there!). - increased
Rversion requirement to3.5. ...insummary.dispRityare now directly passed tocent.tend(e.g.na.rm = TRUE).- added some time improvements in several phylo functions based on the
castorpackage. - updated all the package demo data to fit the new
dispRityobject architecture (see above). Note that this might effect the exact results of calculations using these demo datasets. - you can now specify the dimensions of the matrix to make a disparity metric in
make.metricthrough thedata.dimoption. - metrics passed in
dispRityare now tested using the input data dimensions. chrono.subsetswith multiple trees now stretches the root edges length to match the oldest tree.
- HTML
Published by TGuillerme almost 6 years ago
dispRity - v1.3
dispRity v1.3 many metrics (2019-08-15)
NEW FEATURES
- New metric:
displacements, a dimension level 2 metric that measures the position of elements in space (i.e. their distance from the centre relative to their distance to their centroid). - New metric:
neighbours, a dimension level 2 metric that measures the distance from an element to its neighbour (e.g. the nearest neighbour, the furthest, the median, etc.). - New metric:
quantiles, a dimension level 2 metric that measures the nth quantile range per axis (a good alternative to therangesfunction!). - New metric:
func.eve, a dimension level 1 metric that measures the functional evenness (i.e. the spread along the minimum spanning tree; from Villéger et al. 2008). - New metric:
func.div, a dimension level 1 metric that measures the functional divergence (i.e. the ratio of deviation from the centroid; from Villéger et al. 2008). - Updated metric:
span.tree.lengthnow outputs the length of each edges (c.f. the sum of the length) and becomes a level 2 metric. - The
chrono.subsetscan now takemultiPhyloobjects for slicing through multiple trees at once! - New utility function:
reduce.matrixfor optimising data overlap in a matrix with missing data. - New utility function:
slide.nodesfor sliding specific nodes on a tree. - New utility function:
remove.zero.brlenfor stochastically removing zero branch lengths on a tree (using theslide.nodesfunction). - New argument in
plot.dispRity: thetypeargument can now be"preview"to have a glimpse at two of the dimensions of the trait-space. - The
Claddis.ordinationcan now directly take a matrix's path as input (leaving the function to read and transform the matrix intoCladdisformat. The function can thus now also be used to convert matrices intoCladdisformat. - Added a "Other functionalities" section to the manual describing miscellaneous functions.
MINOR IMPROVEMENTS
centroidsandancestral.distfunctions can now take themethodoption for"euclidean"or"manhattan"distances.- All functions methods selection have now been sped up using
switch. - Error messages in
dispRityare more verbose when input the wrong metric(s). screeoption inspace.makerdoes not require to sum up to one anymore.cor.matrixoption inspace.makerdoes not require to have a valid Choleski decomposition (an approximation is used instead).- Updated all tests and functions to be compatible with R 3.6.
- Fixed bug in
clean.datathat did not output dropped tips correctly when applied onmultiPhyloobjects. - Improved error messages in
chrono.subsetsfor funky time slices/bins (e.g. with negative values). - Speed improvements for the
time.slicefunction. - Better internal handling of distance matrices for the disparity metrics.
- Most functions handles
NAasna.rmorna.omit.
- HTML
Published by TGuillerme over 6 years ago
dispRity - v1.2.1
[GitHub release] dispRity v1.2.1 model tests (2018-08-19)
NEW FEATURES
- CRAN release 2 (v.1.2) with the additional
Claddis.ordinationfunction.
[CRAN release] dispRity v1.2 model tests (2018-08-19)
NEW FEATURES
- New functions:
model.test,model.test.simandmodel.test.wrapperfor fitting models of disparity evolution through time (with associated manuals, vignettes andS3methods! Thanks to Mark Puttick). - New argument in
boot.matrix:probfor passing probabilities of sampling for specific elements. - S3
printmethod for objects of class"dtt"and"dispRity"(fromdtt.dispRity).
MINOR IMPROVEMENTS
- tydiversed most of the error messages.
dtt.dispRitynow allows to specify the alternative hypothesis (ifnsim > 0).ellipse.volumecan now take an explicit eigen value vector (the eigen values are still automatically estimated correctly for PCO and MDS).- Improved metric checking messages from
make.metricwhen dealing with optional arguments. - Removed cascade of warnings triggered by
plot.dispRity.dtt.
BUG FIXES
- Corrected
char.diffto properly reflect the probability of different splits between characters (thanks to Abigail Pastore).
- HTML
Published by TGuillerme over 7 years ago
dispRity - v1.0.0
[last on release] dispRity v1.0.0 got CRAN (2019-02-28)
NEW FEATURES
- CRAN release 1
MINOR IMPROVEMENTS
- Added default Cailliez correction to
Claddis.ordinationfunction (withadd = TRUE). - Improved S3 methods
- Changed name:
scale.dispRityis nowrescale.dispRity - Changed name:
merge.subsetsis nowcombine.subsets - Changed name:
time.subsetsis nowchrono.subsets-time.subsetscan still be called as an alias of for the same function
BUG FIXES
- Minor bug fixes and typos in error messages and manuals
- HTML
Published by TGuillerme about 8 years ago
dispRity - v0.5.0
- 2017/12/20 - v0.5.0 covered with tests
custom.subsetcan now automatically create clade groups if aphyloobject is passed togroup.- Changed calls to
stats::disttovegan::vegdistto allow more distances to be passed throughmethodsarguments. - New utility function:
extinction.subsets, to get the list to be passed totest.dispRityfor testing the effect of extinction. - New test function:
dtt.dispRity, a wrapper forgeiger::dtt. This version is slower thatgeiger::dttbut allows any univariate disparity metric! - New test function:
adonis.dispRity, a wrapper forvegan::adonis. slice.treecan now slice through a single edge.- Various small speed improvements.
- Correct behaviour in
tree.ageto estimate correct ages for trees with fossils only. - New utility function:
crown.stemfor separating a tree into crown and stem groups. - New disparity metric:
span.tree.lengththe length of the minimum spanning tree. - New disparity metric:
pairwise.dist: the element's pairwise distances. - New disparity metric:
radius: the radius of each dimensions. - New disparity metric:
n.ball.volume: the n-dimensional sphere or ellipsoid volume. - Change name throughout the package,
subsampleis now replaced bysubset(e.g.time.subsamplesis now renamedtime.subsets,data$subsamplesis nowdata$subsets, etc...) - Changed argument in
time.subsets,model = "gradual"is now replaced bymodel = "proximity"andmodel = "punctuated"is now replaced bymodel = "random". - New argument in
time.subsets,model = "punctuated"andmodel = "gradual"that retain the probability of being either the descendant or the ancestor. This probability is passed toboot.matrix.
- HTML
Published by TGuillerme about 8 years ago
dispRity - v0.4
- 2017/08/21 - v0.4.0 user friendly
- Entirely rewritten manual (in GitBook)!
- Removed
hyper.volumemetric for dependencies reasons - Removed
paralleloption fromboot.matrix(the new architecture is already super fast: >2sec for 5k taxa and 10k bootstraps!) - New function:
Claddis.ordinationandgeomorph.ordinationfor automatically ordinating data fromCladdisandgeomorphpackages! - New function:
char.difffor calculating character differences and associated plot function (plot.char.diff) - New utility function:
merge.subsamplesfor... merging subsamples! - New utility function:
size.subsamplesfor... getting the size of subsamples in a disparity object! - New wrapping functions:
dispRity.through.timeanddispRity.per.groupnow runs easy default disparity analysis. - Input ordinated matrices do not need to be of maximum size
n*(n-1). Bigger matrices now only trigger a warning. - Changed name:
seriesas a part ofdispRityobjects is now changed tosubsamplesthroughout the whole package. - Changed name:
time.seriesis now renamedtime.subsamples, if dates are provided and method isdiscrete, this function doesn't need a phylogeny any more. - Changed name:
get.subsamples.dispRityis now renamedget.subsamples. - Modified function:
cust.seriesis now renamedcustom.subsamples(to avoid confusion withcustard.subsamples!). Itsfactorargument as been changed togroupsand can now take a simple list. - Added
dimensionsoptional argument todispRityto overwrite the number of dimensions generated byboot.matrix. variances,rangesandcentroidsare now simplified for speed. The optional arguments for data cleaning are now passed tomake.metric.space.makernow allows to approximate the dimensions variance distribution with thescreeoption.
- HTML
Published by TGuillerme over 8 years ago
dispRity - v0.3
- 2017/01/25 - v0.3.0 dispRity lite!
- Complete change of the
dispRityobject architecture (see more here). dispRityobject utilities are now all grouped under the?dispRity.utilitiesmanual with appropriate S3 methods.- removed
rm.last.axisargument inboot.matrix. It is now replaced bydimensions. - changed argument in
plot.dispRity,type = "lines"is now replaced bytype = "line". sim.morphocan now usemodel = "mixed"for using bothHKY-binaryandMkin characters simulation.
- Complete change of the
- HTML
Published by TGuillerme about 9 years ago
dispRity - v0.2
- 2016/06/15 - v0.2.0
- new utility functions:
pair.plot,scale.dispRityandsort.dispRity. - new function:
space.makerfor creating some multidimensional spaces! - new disparity metrics:
convhull.surface,convhull.volumeandhyper.volume - new disparity test
null.test. - new
plot.dispRityarguments:densityfor controlling the polygons density andaddfor adding plots. - removed
type_discreteargument inplot.dispRityandtypeargument can now be: continuousdisparity curves.boxfor real boxplots.linesfor the distribution verticale lines.polygonfor the distribution boxes.- minor functions corrections for specific optional arguments combinations.
- many updates to the functions manual and vignettes.
- some algorithm are now improved for speed
- disparity can now be calculated as a distribution (i.e.
dispRity,test.dispRity,plot.dispRity, andsummary.dispRitycan now intake one or more distribution rather than just one or more single values of disparity; whether the data is bootstrapped or not). dispRitycan now intakedispaRityobjects with level 2 disparity metrics.boot.matrixanddispRitycan now run in parallel.centroidsdisparity metric can now intake acentroidargument for fixing the centroid point value.variancesandrangesdisparity metrics can now intake ak.rootargument for scaling the results.
- new utility functions:
- HTML
Published by TGuillerme over 9 years ago
dispRity - v0.1.2
- 2015/12/01 - v0.1.2
- new function:
get.dispRityfor subsampling dispRity objects - new function:
extract.dispRityfor extracting disparity results - new function:
test.dispRityfor applying tests todispRityobjects - new function:
make.metricfor helping creating your very own disparity metric - new metric:
hyper.volumefor measuring the morphospace hyper-ellipsoid volume metricargument fromdispRitycan now intake up two three functions (seedispRity.metricandmake.metric)- many improved functions manuals and examples!
- improved vignettes:
- dispRity palaeo demo a quick demo aimed more for palaeobiologist
- dispRity ecology demo a quick demo aimed more for ecologists
- dispRity manual for people that want to know the package in details
- dispRity metrics for explaining how the disparity metric implementation works
- new function:
- HTML
Published by TGuillerme over 10 years ago
dispRity - First release!
dispRity
A package for measuring disparity in R
dispRity is a R package allows to summarise ordinated matrices (e.g. MDS, PCA, PCO, PCoA) into single values.
See the detailed vignette here (in .Rnw) or here (in .pdf) for more details.
- HTML
Published by TGuillerme over 10 years ago