1 | # Simple Statistics
|
2 |
|
3 |
|
4 | A JavaScript implementation of descriptive, regression, and inference statistics.
|
5 |
|
6 | [![Circle CI](https://circleci.com/gh/simple-statistics/simple-statistics/tree/master.svg?style=shield)](https://circleci.com/gh/simple-statistics/simple-statistics/tree/master)
|
7 | [![codecov.io](https://codecov.io/github/simple-statistics/simple-statistics/coverage.svg?branch=master)](https://codecov.io/github/simple-statistics/simple-statistics?branch=master)
|
8 | [![npm version](https://badge.fury.io/js/simple-statistics.svg)](http://badge.fury.io/js/simple-statistics)
|
9 | [![Greenkeeper badge](https://badges.greenkeeper.io/simple-statistics/simple-statistics.svg)](https://greenkeeper.io/)
|
10 |
|
11 | Implemented in literate JavaScript with no dependencies, designed to work
|
12 | in all modern browsers (including IE) as well as in [node.js](https://nodejs.org/).
|
13 |
|
14 | * :green_book: [API Documentation](http://simplestatistics.org/docs/)
|
15 | * :chart_with_upwards_trend: [Benchmarks](./benchmarks/)
|
16 | * :kissing: [A list of other statistics libraries](./SEEALSO.md)
|
17 |
|
18 | ## Installation
|
19 |
|
20 | * **I'm using Node.js, Webpack, Browserify, Rollup, or another module bundler,
|
21 | and install packages from npm.**
|
22 | * First, install the `simple-statistics` module, using `npm install simple-statistics`,
|
23 | then include the code with require or import:
|
24 | * **I use the `require` function to use modules in my project. (most likely)**
|
25 | * When you use `require`, you have the freedom to assign the module to any
|
26 | variable name you want, but you need to specify the module's name exactly:
|
27 | in this case, 'simple-statistics'. The `require` method returns an object
|
28 | with all of the module's methods attached to it.<br /> <pre>var ss = require('simple-statistics')</pre>
|
29 | * **I use `import` to use modules in my project. I'm probably using Babel, `@std/esm`, Webpack, or Rollup.**
|
30 | * Import all functions under the ss object: <pre>import * as ss from 'simple-statistics'</pre>
|
31 | Include a specific named export: <pre>import {min} from 'simple-statistics'</pre>
|
32 | Simple statistics has _only_ named exports for ES6.
|
33 | * **I'm not using a module bundler. I'm writing a web page, and want to include
|
34 | simple-statistics using a script tag.**
|
35 | * **I want to support all browsers**
|
36 | * When you use simple-statistics from a script tag, you don't get to choose
|
37 | the variable name it is assigned to: simple-statistics will always become
|
38 | available globally as the variable `ss`. You can reassign this variable to
|
39 | another name if you want to, but doing so is optional. <pre><script src='https://unpkg.com/simple-statistics@7.0.1/dist/simple-statistics.min.js' /></pre>
|
40 | * `https://unpkg.com/simple-statistics@7.0.1/dist/simple-statistics.min.js`
|
41 | * **I want to use ES6 modules in a browser and I'm [willing to only support new browsers](https://caniuse.com/#feat=es6-module) to do it**
|
42 | * This module works great with the [`?module`](https://unpkg.com/#/query-parameters) query parameter of unpkg. If you
|
43 | specify `type='module'` in your script tag, you'll be able to import simple-statistics
|
44 | directly - through `index.js` and with true [ES6 import syntax and behavior](http://exploringjs.com/es6/ch_modules.html).
|
45 | ```js
|
46 | <script type='module'>
|
47 | import {min} from "https://unpkg.com/simple-statistics@7.0.1/index.js?module"
|
48 | console.log(min([1, 2, 3]))
|
49 | </script>
|
50 | ```
|
51 | This feature is still experimental in unpkg and very bleeding-edge.
|