Releases: r-lib/slider
slider 0.3.3
-
Fixed the C level function signature for a vctrs callable (#224).
-
Removed usage of non-API
OBJECT().
slider 0.3.2
-
Removed usage of non-API
STRING_PTR()(#209). -
R >=4.0.0 is now required, inline with tidyverse guidelines.
-
Updated snapshot tests to use the latest version of cli.
slider 0.3.1
-
Fixed tests that failed under valgrind due to
NAvsNaNpeculiarities
(#198). -
Bumped required versions of vctrs, cli, and rlang to their current CRAN
versions. -
Bumped required R version to >= 3.6.0.
slider 0.3.0
-
Improved reported error calls and error messages throughout the package, and
switched from glue to cli (#168, #188). -
Index (
.i) types that aren't explicitly understood by vctrs are now handled
slightly better (#182). -
The
slide_index_*()andhop_index_*()families now usevctrs::vec_rank()
internally to compute a dense rank, which should be a little faster than the
previous home grown approach (#177). -
New
slider_plus()andslider_minus()developer facing helpers that allow
package authors to register custom double dispatch methods to override the
default computation of.i - .beforeand.i + .afterwhen generating index
bounds internally. This is intended to allow the clock and almanac packages to
register methods so their custom types can be used natively in slider (#91). -
Removed ellipsis in favor of using the equivalent functions in rlang (#185).
-
Removed
R_forceAndCall()fallback now that R >=3.4.0 is required (#172). -
Fixed
-Wstrict-prototypeswarnings as requested by CRAN (#173). -
Bumped minimal version of R to >=3.4.0 to align with tidyverse standards.
-
Bumped minimal version of rlang to >=1.0.6 and vctrs to >=0.5.0 (#165, #174).
-
Fixed redirecting URLs.
slider 0.2.2
- Updated internal usage of
vec_order()to prepare for a breaking change
in vctrs (#153).
slider 0.2.1
slider 0.2.0
-
New family of very fast specialized sliding functions:
-
slide_sum(),slide_index_sum(): for rolling sums -
slide_mean(),slide_index_mean(): for rolling averages -
slide_prod(),slide_index_prod(): for rolling products -
slide_min(),slide_index_min(): for rolling minimums -
slide_max(),slide_index_max(): for rolling maximums -
slide_any(),slide_index_any(): for rolling any -
slide_all(),slide_index_all(): for rolling all
-
-
The
slide_index_*()family now allows.beforeand.afterto be
functions of 1 argument (the index) that compute the boundaries of the
sliding window. This can be extremely useful when the default, which computes
.i - .beforeand.i + .after, is not applicable or correct for your needs.
One use case is to set.before = ~.x %m-% months(1)rather than
.before = months(1)to perform a 1 month rolling window in a way that won't
generateNAvalues on invalid dates (like 1 month before 2019-03-31) (#139). -
The
slide_index_*()family has undergone some internal changes to make it
more compatible with custom vctrs classes that could be provided as the
index (.i), such as the date-time classes in the clock package (#133, #130). -
For the
slide_index_*()family, it is now required that.i - .beforeand
.i + .afterbe castable to.ibyvctrs::vec_cast(). Similarly, for
thehop_index_*()family,.startsand.stopsmust both be castable to
.i(#132). -
New vignette,
vignette("tsibble"), explaining how to transition from tsibble
to slider (#128). -
vignette("rowwise")has been updated to usecur_data()from dplyr 1.0.0,
which makes it significantly easier to do rolling operations on data frames
(like rolling regressions) using slider in a dplyr pipeline.
slider 0.1.5
-
slide_period()and friends have slightly better handling of size zero
input when.complete = TRUE(#111). -
Better error messages for
NAinput with.before,.after,.stepand
.completehave been added (#110). -
A few instances of possibly unsafe C protection usage have been fixed (#112).
-
Tests have been updated to use only numeric values in the
vctrs::new_date()
constructor (#113).
slider 0.1.4
-
As a followup to a change in slider 0.1.3, edge cases with size zero input
inhop()have also been fixed. -
C code has been refactored to be less reliant on vctrs internals.
slider 0.1.3
-
Updated to stay compatible with vctrs 0.3.0.
-
A few edge cases with size zero input in the index functions have been fixed.
-
The default for the
.names_toargument of*_dfr()variants has been
updated torlang::zap()to match the default of the function it is passed
on to,vctrs::vec_rbind(). -
All
*_vec()variants now maintain size stability when auto-simplifying
(i.e. when.ptype = NULL) (#78, #93). -
hop()and its variants no longer place the names of.xon the output.
Because there is no size guarantee on the output, the size of.xcan
be different than the size of the output, meaning that the names might not
line up. This also affectsslide_period(), which is implemented using
ahop()variant (#75). -
With data frames containing row names,
slide()and its variants now copy
those row names onto the output. This is an implicit benefit from vctrs
gaining better support for data frame row names.