- Makes tests compatible with
`purrr v1.0.1`

. (#2)

Makes use of suggested packages conditional on their presence.

Makes testing conditional on the availability of

`xpectr`

.Makes tests compatible with the upcoming release of

`purrr v1`

. (#1)Fixes

`tidyselect`

-related warnings.

Regenerates documentation to fix html5 problem.

Imports R6 to resolve note in

`R CMD check`

.

Breaking: Fixes bug in

`pair_extremes()`

where the`shuffle_pairs`

and`shuffle_members`

were kind of switched. Now`shuffle_pairs`

changes the order of pairs while`shuffle_members`

only shuffles the values of`col`

.Adds pipeline classes for piping transformations:

`Pipeline`

,`GeneratedPipeline`

,`FixedGroupsPipeline`

.Adds transformation classes:

`Transformation`

,`GeneratedTransformation`

,`FixedGroupsTransformation`

. Used by their respective pipeline class.Adds

`triplet_extremes()`

for arranging values in triplets with (highest, most middle, lowest), (second highest, second most middle, second lowest), etc. (Rearranger)Adds

`order_by_aggregates`

argument to`pair_extremes()`

. When using recursive pairing, this allows ordering the first`num_pairings`

-1 pair identifier columns by the aggregate values instead of the identifiers.Prepares package’s tests for

`checkmate 2.1.0`

.

Adds

`shuffle_hierarchy()`

for shuffling a multi-column hierarchy of groups. (Rearranger)Adds optional recursion to

`pair_extremes()`

. This adds the`num_pairings`

and`balance`

arguments. Now returns one additional sorting factor per`num_pairing`

level.

Note: Multiple of the new functions also have `*_vec()`

versions that take and return vectors. The same can *usually* be
achieved with the regular versions, but these wrappers make it easier
and less verbose.

Adds

`center_max()`

for centering the highest value with values decreasing around it. (Rearranger)Adds

`center_min()`

for centering the lowest value with values increasing around it. (Rearranger)Adds

`position_max()`

for positioning the highest value with values decreasing around it. (Rearranger)Adds

`position_min()`

for positioning the lowest value with values increasing around it. (Rearranger)Adds

`pair_extremes()`

for arranging values as highest, lowest, second highest, second lowest, etc. (Rearranger)Adds

`rev_windows()`

for reversing order window-wise. (Rearranger)Adds

`closest_to()`

and`furthest_from()`

for arranging values by how far they are from an origin (e.g. a target value / index in 1d). (Rearranger)Adds

`roll_elements()`

for rolling/shifting the position of the elements. (Rearranger)

Adds

`cluster_groups()`

for moving data points into clusters around their group centroid. (Mutator)Adds

`expand_distances()`

and`expand_distances_each()`

for expanding values around an origin in any number of dimensions. (Mutator)Adds

`dim_values()`

for dimming values in one dimension by their distance to around an n-dimensional origin. (Mutator)Adds

`rotate_2d()`

and`rotate_3d()`

for rotating values around an origin. (Mutator)Adds

`swirl_2d()`

and`swirl_3d()`

for rotating values around an origin. (Mutator)Adds

`shear_2d()`

and`shear_3d()`

for shearing values around an origin. (Mutator)Adds

`flip_values()`

for flipping values around a center value. (Mutator)Adds

`roll_values()`

and`wrap_to_range()`

for rolling/shifting values and wrapping to a range. (Mutator)Adds

`transfer_centroids()`

for transferring centroids from one`data.frame`

to another. (Mutator)Adds

`apply_transformation_matrix()`

for performing matrix multiplication with a given transformation matrix and a set of`data.frame`

columns. Allows moving the origin before and after the transformation.

Adds

`circularize()`

for creating x-coordinates to a set of y-coordinates so they form a circle. (Former)Adds

`hexagonalize()`

for creating x-coordinates to a set of y-coordinates so they form a hexagon. (Former)Adds

`square()`

for creating x-coordinates to a set of y-coordinates so they form a square. (Former)Adds

`triangularize()`

for creating x-coordinates to a set of y-coordinates so they form a triangle. (Former)

- Adds
`generate_clusters()`

for generating n-dimensional clusters. (Generator)

Adds

`distance()`

for calculating distances to a specified origin. (Measuring function)Adds

`angle()`

for calculating the angle between points and an origin. (Measuring function)Adds

`vector_length()`

for calculating vector length/magnitude row-wise or column-wise. (Measuring function)

Adds

`min_max_scale()`

for scaling values to a specified range. (Scaler)Adds

`to_unit_length()`

for scaling vectors to unit length row-wise or column-wise. (Scaler)

- Adds
`radians_to_degrees()`

and`degrees_to_radians()`

. (Converters)

Adds

`most_centered()`

for finding the coordinates of the data point closest to the centroid. (Helper)Adds

`centroid()`

for finding the centroid from multiple vectors/columns (dimensions). (Helper)Adds

`midrange()`

for finding the midrange of vectors/columns. (Helper)Adds

`create_origin_fn()`

for creating a function for finding origin coordinates (like`centroid()`

). (Helper)Adds

`create_n_fn()`

for creating a function for finding the number of positions to move, e.g. in`roll_elements()`

. (Helper)Adds

`median_index()`

for finding the median index of each supplied vector. (Helper)Adds

`quantile_index()`

for finding the*n*th quantile of the index of each supplied vector. (Helper)

- Please welcome
`rearrr`

! :-)