Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
streaming statistical calculations for node
JavaScript
Branch: master

0.4.0

latest commit eb4810ef7f
@tmcw authored
Failed to load latest commit information.
bin Add binary
test Document mode
.travis.yml
CHANGELOG.md
LICENSE
README.md Document mode
index.js Document mode
package.json 0.4.0
screenshot.png

README.md

Build Status

stream-statistics

Install

npm install stream-statistics

API

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.

Use

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);
    });

cli

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.

Documentation

See Also

  • The sister project, simple-statistics, that implements many of the same measures in straightforward and literate fashion
Something went wrong with that request. Please try again.