Skip to content

Releases: r-lib/slider

slider 0.3.2

25 Oct 19:32
3658513
Compare
Choose a tag to compare
  • 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

12 Oct 15:21
1b75cd0
Compare
Choose a tag to compare
  • Fixed tests that failed under valgrind due to NA vs NaN peculiarities
    (#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

16 Nov 22:54
f2bc1f6
Compare
Choose a tag to compare
  • 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_*() and hop_index_*() families now use vctrs::vec_rank()
    internally to compute a dense rank, which should be a little faster than the
    previous home grown approach (#177).

  • New slider_plus() and slider_minus() developer facing helpers that allow
    package authors to register custom double dispatch methods to override the
    default computation of .i - .before and .i + .after when 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-prototypes warnings 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

01 Jul 19:49
d0a2baa
Compare
Choose a tag to compare
  • Updated internal usage of vec_order() to prepare for a breaking change
    in vctrs (#153).

slider 0.2.1

23 Mar 14:59
c96627f
Compare
Choose a tag to compare
  • Fixed a C alignment issue detected by CRAN's USBAN machine related to
    allocating vectors of long double.

  • Fixed a test that relied too strongly on the size of the C type,
    long double, which can vary across platforms (#147).

  • Fixed an out of sync vignette entry (#148).

slider 0.2.0

18 Mar 12:29
e2fb293
Compare
Choose a tag to compare
  • 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 .before and .after to 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 - .before and .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
    generate NA values 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 - .before and
    .i + .after be castable to .i by vctrs::vec_cast(). Similarly, for
    the hop_index_*() family, .starts and .stops must 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 use cur_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

23 Jul 19:10
d6e8c1c
Compare
Choose a tag to compare
  • slide_period() and friends have slightly better handling of size zero
    input when .complete = TRUE (#111).

  • Better error messages for NA input with .before, .after, .step and
    .complete have 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

28 May 17:36
710b735
Compare
Choose a tag to compare
  • As a followup to a change in slider 0.1.3, edge cases with size zero input
    in hop() have also been fixed.

  • C code has been refactored to be less reliant on vctrs internals.

slider 0.1.3

14 May 14:18
164b162
Compare
Choose a tag to compare
  • 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_to argument of *_dfr() variants has been
    updated to rlang::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 .x on the output.
    Because there is no size guarantee on the output, the size of .x can
    be different than the size of the output, meaning that the names might not
    line up. This also affects slide_period(), which is implemented using
    a hop() 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.

slider 0.1.2

10 Mar 15:39
1feb647
Compare
Choose a tag to compare
  • Updated to stay compatible with the latest version of vctrs.