apply_matrix()
, apply_row()
and
apply_column()
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.