-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Labels
Milestone
Description
To gather requirements in single place and refresh ~4 years old discussions creating this issue to cover rolling functions feature (also known as rolling aggregates, sliding window or moving average/moving aggregates).
rolling functions
- rollmean
- rollsum
- rollmin (new rolling functions: min and prod #7299)
- rollmax (left aligned, adaptive, rolling max #7264)
- rollmedian (rolling median #7315)
- rollprod (new rolling functions: min and prod #7299)
- rollsd (frollvar and frollsd #7361)
- rollvar (frollvar and frollsd #7361)
- rollapply (user provided FUN) (rewritten for more features in frollapply rewritten, by.column=F, parallel, any type #7272)
features
- multiple columns at once
- multiple windows at once
- multiple columns and multiple windows at once
- atomic vectors input and single window returns atomic vectors
- various length list of vectors
- align: left/center/right
- handling NAs
- handling Inf (left aligned, adaptive, rolling max #7264)
- fill constant
- long vector support
- partial window support (frollmean partial argument #4968, PR left aligned, adaptive, rolling max #7264)
- adaptive window support
- use openmp to parallelize calculation of multiple columns/windows
- rounding error correction
- timing in verbose mode from parallel region (blocked by
testing output using patterns disabled when parentheses present #3422, print uint64 using inttypes.hPRIu64instead ofllu#3423) - partial & adaptive support (left aligned, adaptive, rolling max #7264)
-
give.namesargument, same asshifthas (left aligned, adaptive, rolling max #7264) - frollapply
by.column=FALSE(issue add by.column=F argument in frollapply #4887, PR frollapply rewritten, by.column=F, parallel, any type #7272) - unevenly spaced time series (rolling funs / shift could support logical window #3241, PR froll support for unevenly spaced time series #7291)
artemklevtsov, jasonjfoster, MichaelChirico, mluerig, mgahan-he and 13 more