Patch to comply with
The documentation no longer uses the pipe (|>) operator, to avoid dependency on R >= 4.1.0.
Note that the changes also apply to the dfl/dfw variants.
The functions are transitioning into taking only functions and formulas and no longer expressions. This change was made since the usage of formula and expression was almost identical, and the formula is clearer. The documentation has been updated to reflect this and the lifecyle as well.
While this is currently still allowed, a warning will be issued that a formula should be used instead.
The function labels - what is used as column names when simplifying the results - no longer includes the "~" in the name when an expression was provided as a formula
The NULL matrices are no longer formatted during the simplification process.
From now on, NULL is always returned for these matrices.
For now, this is a soft deprecation and a lifecycle warning is issued.
Yet again, the functions have been refactored to improve both on clarity and performance. The functions are now implemented using R6 classes. A substantial performance has been noticed, between 2x to 20x faster, depending on the apply flavor.
It is now possible to expand matrixset objects following a join operation even
if the resulting tag names are no longer unique.
This is achieved by the introduction of the names_glue argument, which when
NULL (the default), the old behavior of preventing such join is enforced -
thus keeping back-compatibility.
Otherwise, the names_glue will provide instructions to the join functions on
how to make the resulting tag names unique.
by argument is not named for every variable.New tests implemented for applying functions.
A complete rewrite of the apply_ functions have been performed. The initial
goal was to have clearer codes to maintain, but from a user perspective, an
improvement on speed should be observed as well.
On another positive note, the opportunity of the rewrite was taken to correct some bugs (see below).
The mutate_matrix() function now has access to context functions. This
implements #09.
The apply_ function family gained a new .force_name argument, available
for the dfl/dfw versions. This allows better control in getting meaningful
IDs to the outcomes.
For instance, using .force_name solves the issue
#12
Functions join_row_info() and join_column_info() now have more adjust
possibilities to expand matrix sizes when the join operation results in matrix
expansion. This implements
#10.
mutate_matrix() can now accept statements such as
mutate_matrix(ms, foo=bar), which was impossible before.apply_matrix_df* now works when subgroup yields 1 x m or n x 1 matrices.
This solves #13.force_name argument.join_column_info() made it impossible to
be executed. This has now been fixed.matrixset objects with 0 rows can now be printed.matrixsets that yields 0-row objects is now possible.All matrixset objects can now store matrices of class Matrix, which allows
sparse and other special matrices.
All matrixset extractors or other manipulation functions will work as well.
This is a great way to annotate/manipulate special matrices.
.input_list while .matrix_wise is FALSE. This answers
#5matrixset objects with
partially or completely NULL dimnames. This fixes
#2CRAN submission.
NEWS.md file to track changes to the package.