This patch fixes a bug in the peel stat and adds unit tests for itand the scale stat.
To resolve outstanding CRAN checks, a cross-reference to {ordr} hasbeen replaced with a URL and {dplyr} and {tidyr} functions previouslycalled using the double-colon operator have been imported instead.
The inaugural version of {gggda} was spun off the post-v0.1.1development version of {ordr}. Upgrades to {ordr} components since thatrelease that are included in {gggda} are listed here.
Unit tests have been written for all ggproto shortcuts.
Two new coordinate systems provide control over the aspect ratio ofthe plotting window without compromising that of the (artificial)coordinate axes:GeomRect (aliasGeomSquare)extendsGeomFixed with anwindow_ratioparameter for the plotting window, whileGeomBiplot removestheratio parameter and forces the coordinate axes to haveaspect ratio 1.
The ‘vector’ and ‘text_radiate’ geoms have been combined. Theshortcutgeom_text_radiate() is deprecated, andgeom_vector() generates radiating labels by default.
The ‘axis’ and ‘isoline’ geoms hit trouble when one or more pointslay at the origin (x^2 + y^2 == 0). These cases have nowbeen removed insetup_data().
The ‘center’ and ‘star’ stats now follow the ‘summary’ statconvention of usingfun, sofun.center isdeprecated. Additionally,fun.ord accepts a function thatsummarizes the columns of a matrix, which accommodates summaries likethe depth median that do not decompose along orthogonal axes.
Previously, underscore-separated parameters likelabel_colour were used to specify secondary aesthetics,i.e. aesthetics for graphical objects other than those considered“primary” for the layer. Their behavior has been debugged by mimickingthe use of period-separated parameters likelabel.colour in{ggplot2} v3.5.1, except for the new bagplot geom, for which theirbehavior is based on that ofgeom_boxplot() in the currentdevelopment version of {ggplot2}. This induces some breaking changes dueto the renaming of most, and the removal of some, such parameters.
The simple and experimentalStatScale has beendeprecated.
A new statistical transformation serves to parent specific“referential stats”, meaning those that depend on non-inherited (in thissetting, positional) data to transform the inherited data. The referencedata are passed to the newreferent parameter. The new statis coupled with an additionalLayerRef class that enablesggplot_add() to pass the inherited positional aesthetics to$setup_params(). Biplot-specificstat_*_*()shortcuts accept additional argument types toreferent thatresult in the opposite matrix factor being used as reference data.
A new ‘rule’ statistical transformation computes additional positionaesthetics that the ‘axis’ geom uses to limit and offset axes. The statis referential and expects a set of functions that compute limitslower andupper along the axes andyintercept andxintercept associated withoffset axes. The ‘axis’ geom preprocesses these aesthetics to ruleendpointsxmin,ymin,xmax,ymax and offset vectorsxend,yend to force the plotting window to contain thelimited axis segments or, if the axes remain lines, the offsets wherethey are centered.
A new ‘peel’ statistical transformation computes nested convex hullscontaining specified fractions of data.
A new ‘depth’ statistical transformation estimates depth across agrid and is paired withGeomContour to produce depthcontours, which can be used to plot alpha bags.
Aided by element standardization, the classicdensity_2dstatistical transformation and geometric construction are adapted tobiplots. Currently, source code generation does not respect fixedparameters passed tolayer() by thestat_*()andgeom_*() shortcuts; as a consequence,contour = TRUE must be manually passed togeom_*_density_2d().
linewidthaesthetic (breaking change)An upcoming release of {ggplot2} controls stroke width using the newlinewidth aesthetic rather thansize. This{ordr} release adapts to this change internally forGeomUnitCircle and by updating row and column layersautomatically adapted from {ggplot2}. (#50)
Methods are added for the ‘eigen’ class returned byeigen(), and the internaleigen_ord() functionand its methods are updated accordingly.
The previous version extended the ‘list’ method for {broom}’stidy() andglance() functions to recognize theoutput ofcmdscale() and ofcancor(). Thesehave been spun off to a nascent helper package, {broom.list}, to reducesize and prevent attachment warnings.
In addition to minor changes, the following substantive changes aremade from v0.0.2:
The column names ofaugment_ord() andtidy() outputs are no longer prefixed by periods.
A new list tidier forcancor() output is introduced.
Tools to negate a subset of artificial dimensions, adapted from thesandboxed set of alignment tools, are provided.
Theordinate() function is now a generic with methodsfor four data classes.
The logicalprediction parameter is replaced with thecharacter-valuedaxis.type, based on theax.type parameter used in {UBbipl} (Gower, Gardner–Lubbe,& le Roux, 2011).
Unit tests are overhauled to remove contexts, omit ad hoc tests,standardize method tests, and cover additional methods.
The term ‘accessor’, used to refer to S3 class methods to recoverstandardized model components, has been changed to ‘recoverer’.
This pre-release makes several substantive changes in preparation forCRAN submission.
Annotation of active and supplementary elements is standardized: Thecharacter augmentation.element replaces the logical.supplement, and class methods either omit it entirely(when all retrieved elements are active) or include it in both row andcolumn augmentation (when either includes supplementary elements). Thevalue of.element is either ‘active’ or a type ofsupplement, e.g. ‘score’.
Extraneous dependencies are dropped to reduce overhead. This takestwo forms:
TheDescription field in DESCRIPTION is expanded anddocumentation throughout is slightly revised, including some newreferences.
This is a pre-release in anticipation of a first CRAN submission.Upgrades between this pre-release and CRAN submission will focus onaddressing issues.