Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
streaming statistical calculations for node
branch: master

0.4.0

latest commit eb4810ef7f
Tom MacWright authored
Failed to load latest commit information.
bin Add binary
test Document mode
.travis.yml Modernize
CHANGELOG.md Add screenshot and prep for 0.0.1
LICENSE Push license and readme updates
README.md Document mode
index.js Document mode
package.json 0.4.0
screenshot.png Add screenshot and prep for 0.0.1

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.