npm install stream-statistics
This module exposes a single function that creates a stream. The stream
reads data, which it parses with parseFloat(), and computes statistics
on that data. When the input stream ends, stream-statistics emits the
data object.
The statistics object has the following members:
minmaxsummeanmodevariancestandard_deviationgeometric_meanharmonic_mean
mode computation expects the stream to deliver numbers in sorted lowest-first
order, and will return undefined if that expectation is not met.
var streamStatistics = require('stream-statistics'),
assert = require('assert');
function rangeStream(a, b) {
var rs = new Readable({ objectMode: true });
for (var i = 10; i < 1000; i++) { rs.push(i); }
rs.push(null);
return rs;
}
rangeStream(10, 1000).pipe(streamStatistics())
.on('data', function(d) {
assert.equal(d.min, 10);
});This also provides a binary, sstatistics, that you can get if you
npm install -g the library. Pipe numbers into it and it'll return
a basic set of stats about its input.
- The sister project, simple-statistics, that implements many of the same measures in straightforward and literate fashion
- streaming-k-means implements k-means clustering in an online fashion

