Skip to content

ersinesen/elixir-statistics

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.4.0"}
  ]
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.

Roadmap

This library is evolving.

I plan to add common statistical tests and most common distributions.

Contributing

I will accept pull requests.

If you want to contribute, please create a topic branch with tests.

License

Apache 2

About

Statistical functions and distributions for Elixir

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%