f0i/statistics

Statistic functions for lists of Float and Int


Keywords
elm, libraries, statistics
License
BSD-3-Clause
Install
elm-package install f0i/statistics 4.0.0

Documentation

Fast Statistic functions for Lists of Float and Int

This package provides functions to get common statistic functions over lists of numbers.

If you need a function that is currently not included, please let me know by creating an Issue in Github or send me an email at elm-statistics@f0i.de. Same thing for performance improvements, ideas, sponsoring and job offers.

Performance tests and comparision to other libraries can be found in the benchmark directory or at f0i.de/projects/elm-statistics.

Install

elm install f0i/statistics

Examples

$ elm repl

> import List.Statistics as Stats
-- This is the test data for the following examples:
> data = [1, 1, 2, 2, 4, 8, 8, 9]
[1,1,2,2,4,8,8,9]

> data |> Stats.avg
Just 4.375 : Maybe Float

> data |> Stats.mean -- alias for avg
Just 4.375 : Maybe Float

> data |> Stats.occurrences
Dict.fromList [(1,2),(2,2),(4,1),(8,2),(9,1)]
    : Dict.Dict number Int

> data |> Stats.minmax
Just (1,9) : Maybe ( number, number )

> data |> Stats.stdDeviation
Just 3.1991209730174317 : Maybe Float

-- Get the element 25% into the list (interpolated between closest values)
> data |> Stats.percentile 0.25
Just 1.75 : Maybe Float

-- Some functions have a separate implementation for list of Int
> data |> Stats.percentileInt 0.75
Just 8 : Maybe Int

>

The complete list of function definitions can be found in the package documentation

Development

This package uses elm-test and elm-benchmark. There are make inside the makefile to run these tests whenever a file changes.

Alternatives

There are some other libraries which provide statistics functions:

See https://f0i.de/projects/elm-statistics for performance comparision.