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.matrixset
s 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.