-
Notifications
You must be signed in to change notification settings - Fork 992
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rolling functions, rolling aggregates, sliding window, moving average #2778
Comments
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
@mattdowle answering questions from PR
For me personally it is about speed and lack of chain of dependencies, nowadays not easy to achieve.
I listed some above, if you are not convinced I recommend you to fill a question to data.table users, ask on twitter, etc. to check response. This feature was long time requested and by many users. If response won't convince you then you can close this issue. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
rollcor went out of scope as of current moment. All can work using frollapply (not master branch but PRs), just not super fast. We could consider adding them to scope in future. For the current moment the following set of sum mean prod min max sd var median feels fine and complete to me. |
@jangorecki just following up here based on your comment in {roll}. I was happy to see that |
No ETA (it requires multiple other branches to be merged first). I recommend to use |
Sounds good, I'll try that. Which rolling functions are available on that branch? Just |
Others as well, rollmedian is the most recent branch of all rolling branches so includes the rest as well. There is also rewritten frollapply to apply any function, which is multi threaded and memory optimized. |
@roaldarbol if you're keen, the blocker for merging existing PR is lack of reviewer+author bandwidth. We could go for someone to either:
|
That's great, I'll give it a spin! @MichaelChirico I unfortunately don't have the time currently, but if the need is still there a few months from now I might have a look. 😊 |
I've started benchmarking the various rolling stats across a bunch of packages, and the new PS As someone new here, would such a benchmark be worth adding to the Articles? |
Thanks for benchmarking. Note that readers will not really know how those functions scales, which reduces utility of the benchmark. It is always good to present multiple input vector sizes and as well multiple window sizes. If there are at least three different sizes then it is possible to conclude if it scales linearly or worse (or better) than linearly. When benchmarking custom function with rollapply, I would go for some real custom function as there may be optimization detecting "sum" and switching to optimized sum. Definitely make sense to add to articles, this is what articles are for in data.table wiki page. |
Oh yeah, absolutely, I'm quite aware of the scaling dimension - I started out with those here: jasonjfoster/roll#44. But I also find that a lot of the nuance in the smaller values disappears (e.g. when data.table is 5x faster than another fast function), and I want to show both, so I'm currently experimenting with better ways (or combinations of ways) to visualize benchmarks. Hope that makes sense. :-) Thanks for the note on custom functions, I'll change that. And then I'll add it to articles once I've found a preferred way of visualising the scaling. |
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
features
testing output using patterns disabled when parentheses present #3422, print uint64 using inttypes.hPRIu64
instead ofllu
#3423)give.names
argument, same asshift
has (rolling functions: adaptive left, frollmax, frollapply adaptive, partial #5441)by.column=FALSE
(issue add by.column=F argument in frollapply #4887, PR frollapply rewritten, supports by.column=F #5575)The text was updated successfully, but these errors were encountered: