1.1.0 • Published 10 years ago

compute-iqr v1.1.0

Weekly downloads
467
License
-
Repository
github
Last release
10 years ago

Interquartile Range

NPM version Build Status Coverage Status Dependencies

Computes the interquartile range (iqr) for an array of values.

Installation

$ npm install compute-iqr

For use in the browser, use browserify.

Usage

To use the module,

var iqr = require( 'compute-iqr' );

iqr( arr, opts )

Computes the interquartile range provided an input array.

var unsorted = [ 8, 2, 3, 9, 5, 1, 4, 10, 7, 0, 6 ];

var r = iqr( unsorted );
// returns 6

If the input array is already sorted in ascending order, set the sorted flag to true.

var sorted = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];

var r = iqr( sorted, {'sorted': true} );
// returns 6

Additional options are the same as for the quantile module.

Examples

var data = new Array( 100 );

for ( var i = 0; i < data.length; i++ ) {
	data[ i ] = Math.round( Math.random()*100 );
}

console.log( iqr( data ) );

To run the example code from the top-level application directory,

$ node ./examples/index.js

Notes

If the input array is not sorted in ascending order, the function is O( N log( N ) ). If the input array is sorted, the function is O(1).

Tests

Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

License

MIT license.


Copyright

Copyright © 2014. Athan Reines.