/elixir-statistics

Statistical functions and distributions for Elixir

Primary LanguageElixirOtherNOASSERTION

Statistics

Build Status hex.pm version

Statistics functions and distributions for Elixir.

Usage

Add Statistics as a dependency in your mix.exs file to install from hex.pm.

def deps do
  [
    { :statistics, "~> 0.6"}
  ]
end

After you are done, run mix deps.get in your shell to fetch and compile Statistics.

To try it out, start an interactive Elixir shell with iex -S mix.

Get the median value from a list

iex> Statistics.median([1,2,3])
2

Calculate the variance of a list of values.

iex> Statistics.variance([1,2,3,4])
1.25

Or draw a random number from a Gaussian distribution with a mean of 1 and standard deviation of 2.

iex> Statistics.Distributions.Normal.rand(1, 2)
2.5998185179627384

Documentation

Elixir has great documentation tools using ex_doc.

The docs are hosted on hexdocs.pm/statistics.

Performance

This is not a library to use if you need fast computation.

Everything is implemented in Elixir. Many of the implementations use slow approximations, numerical function integration, or trial-and-error methods.

There is much room for improvement. To make this library really fast (and precise), we would probably need to interface with existing C libraries.

Contributing

I will accept pull requests.

If you want to contribute, please create a topic branch with tests and submit a pull request.

License

Apache 2