npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jstat

v1.9.6

Published

Statistical Library for JavaScript

Downloads

937,531

Readme

jStat - JavaScript Statistical Library

npm version

jStat provides native javascript implementations of statistical functions. Full details are available in the docs. jStat provides more functions than most libraries, including the weibull, cauchy, poisson, hypergeometric, and beta distributions. For most distributions, jStat provides the pdf, cdf, inverse, mean, mode, variance, and a sample function, allowing for more complex calculations.

NOTICE: The previous case sensitive jStat module will no longer be updated. Instead use the all lowercase jstat when doing an npm install or similar.

Using jStat in a Browser

jStat can be used in the browser. The jStat object will be added to the window. For example:

<script src="components/jstat.js"></script> <!-- include jStat, from the CDN or otherwise -->

<script>
...
var jstat = this.jStat(dataset); // jStat will be added to the window
...
data[i]['cum'] = jstat.normal(jstat.mean(), jstat.stdev()).cdf(data[i].x);
...
</script>

CDN jsDelivr Hits

The library is hosted on jsDelivr using the following url:

//cdn.jsdelivr.net/npm/jstat@latest/dist/jstat.min.js

Note that 'latest' can be replaced with any released verion of jStat.

Module Loaders

Currently jStat is exposed as j$ and jStat inside an object, rather than exported directly. This may confuse some module loaders, however should be easily remedied with the correct configuration.

NodeJS & NPM

To install via npm:

npm install --save jstat

When loading under Node be sure to reference the child object.

var { jStat } = require('jstat').

RequireJS Shim

For RequireJS not only exports but also init function must be specified.

requirejs.config({
  paths: {
    'jstat': 'path/to/jstat/dist/jstat.min'
  },
  shim: {
    jstat: {
      exports: ['j$', 'jStat'],
      init: function () {
        return {
          j$: j$,
          jStat: jStat
        };
      }
    }
  }
});

Build Prerequisites

In order to build jStat, you need to have GNU make 3.8 or later, Node.js 0.2 or later, and git 1.7 or later. (Earlier versions might work OK, but are not tested.)

Windows users have two options:

  1. Install msysgit (Full installer for official Git), GNU make for Windows, and a binary version of Node.js. Make sure all three packages are installed to the same location (by default, this is C:\Program Files\Git).
  2. Install Cygwin (make sure you install the git, make, and which packages), then either follow the Node.js build instructions or install the binary version of Node.js.

Mac OS users should install Xcode (comes on your Mac OS install DVD, or downloadable from Apple's Xcode site) and http://mxcl.github.com/homebrew/. Once Homebrew is installed, run brew install git to install git, and brew install node to install Node.js.

Linux/BSD users should use their appropriate package managers to install make, git, and node, or build from source if you swing that way.

Building jStat

First, clone a copy of the jStat git repo by running git clone git://github.com/jstat/jstat.git.

To download all necessary libraries run npm install.

Then, to get a complete, minified version of jStat and all documentation, simply cd to the jstat directory and type make. If you don't have Node installed and/or want to make a basic, uncompressed, unlinted version of jstat, use make jstat instead of make.

The built version of jStat will be put in the dist/ subdirectory.

Generate just the documentation by running make doc. Documentation will be placed in dist/docs by default.

To remove all built files, run make clean.

Running Tests

Execute all tests by running make test.

Or if you wish to run a specific test, cd to test/<subdir> and run node <some_test>-test.js.

Get the Code

Both the minified and unminified source are located in the dist/ directory. For those who don't want to build it themselves.

Contribute

jStat is now going to follow most of the v8 JavaScript guidelines. There will be plenty of source that uses the old style, but we're going to work away from that.

Also, we'll be going through and reimplementing a good portion of the code to run faster. Hopefully it won't take too long to get the project on one basic standard.

When submitting pull requests, no need to check in dist/*.js. They'll be recompiled for distribution anyway.

Join the Community

We always like discussion of how to improve jStat. Join us at our mailing list and let us know what you'd like to see. Also come ask questions in the #jstat channel on irc.freenode.net.