stdlib-js / stdlib-js/stdlib

RFC: add incrtabulate

Open
#88 1 comment 0 reactions 0 assignees View on GitHub
difficulty: 1 Enhancement Feature Math Needs Discussion RFC
Dominant language
JavaScript
Stars
6k
Forks
1.3k
Avg merge
1d 3h
Merged PRs (30d)
611

Description

## Checklist

> Please ensure the following tasks are completed before filing an issue.

* [x] Read and understood the [Code of Conduct][code-of-conduct].
* [x] Searched for existing issues and pull requests.
* [x] If this is a general question, searched the [FAQ][faq] for an existing answer.
* [x] If this is a feature request, the issue name begins with `RFC: `.

## Description

> Description of the issue (or feature request).

This RFC proposes to add `@stdlib/math/statistics/incr/tabulate`. The package would incrementally generate a frequency table.

## Related Issues

> Does this issue (or feature request) have any related issues?

No.

## Questions

> Any questions for reviewers?

* Open question whether this package should accept an "indicator" function which can process an input value __before__ tabulation, similar to `@stdlib/utils/tabulate-by`.
* Should there exist a separate package for `@stdlib/math/statistics/incr/tabulate-by` which allows pre-processing, as described above?

## Other

> Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Based on the `@stdlib/utils/tabulate` algorithm, need to provide a warning to be careful with "diverse" input streams, as performance decreases with number of unique values. Hence, this function would not be appropriate for tabulating real numbers without first processing input to limit the possible range of input values.

[code-of-conduct]: https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md
[faq]: https://github.com/stdlib-js/stdlib/blob/develop/FAQ.md

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.