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:
min
max
sum
mean
mode
variance
standard_deviation
geometric_mean
harmonic_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