Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

135 lines (94 sloc) 3.891 kB

Build Status

A project to learn about and make simple reference implementations of statistics algorithms.

This code is designed to work in browsers (including IE) as well as in node.js.

Basic Descriptive Statistics

// Require simple statistics
var ss = require('simple-statistics');

// The input is a simple array
var list = [1, 2, 3];

// Many different descriptive statistics are supported
var sum = ss.sum(list),
    mean = ss.mean(list),
    min = ss.min(list),
    geometric_mean = ss.geometric_mean(list),
    max = ss.max(list),
    quantile = ss.quantile(0.25);

Linear Regression

// For a linear regression, it's a two-dimensional array
var data = [ [1, 2], [2, 3] ];

// simple-statistics can produce a linear regression and return
// a friendly javascript function for the line.
var line = ss.linear_regression()
    .data(data)
    .line();

// get a point along the line function
line(0);

var line = ss.linear_regression()

// Get the r-squared value of the line estimation
ss.r_squared(data, line);

Literate Documentation

Mixin Style

This is optional and not used by default. You can opt-in to mixins with ss.mixin().

This mixes simple-statistics methods into the Array prototype - note that extending native objects is a tricky move.

This will only work if defineProperty is available, which means modern browsers and nodejs - on IE8 and below, calling ss.mixin() will throw an exception.

// mixin to Array class
ss.mixin();

// The input is a simple array
var list = [1, 2, 3];

// The same descriptive techniques as above, but in a simpler style
var sum = list.sum(),
    mean = list.mean(),
    min = list.min(),
    max = list.max(),
    quantile = list.quantile(0.25);

Bayesian Classifier

var bayes = ss.bayesian();
bayes.train({ species: 'Cat' }, 'animal');
bayes.score({ species: 'Cat' });
// { animal: 1 }

Examples

Usage

To use it in browsers, grab simple_statistics.js. To use it in node, install it with npm or add it to your package.json.

npm install simple-statistics

To use it with component,

component install tmcw/simple-statistics

Documentation

Tests

Contributors

See Also

  • stream-statistics, a sister project that implements many of the same measures for streaming data - as online algorithms

Javascript

Python

Their Own Language

Jump to Line
Something went wrong with that request. Please try again.