Statistics

Provides basic statistics functions

Summary

geometric_mean(list)

Calculate the geometric mean of a list

harmonic_mean(list)

Calculates the harmonic mean from a list

iqr(list)

Calculate the inter-quartile range

kurtosis(list)

Computes the kurtosis (Fisher) of a list

max(list)

Get the maximum value from a list

mean(list)

Calculate the mean from a list of numbers

median(list)

Get the median value from a list

min(list)

Get the minimum value from a list

mode(list)

Get the most frequently occuring value

moment(list, moment \\ 1)

Calculates the nth moment about the mean for a sample

percentile(list, n)

Get the nth percentile cutoff from a list

quartile(list, quartile)

Get the quartile cutoff value from a list

range(list)

Get range of data

skew(list)

Computes the skewness of a data set

start(type, args)

Callback implementation of :application.start/2

stdev(list)

Calculate the standard deviation of a list

sum(list)

Sum the contents of a list

trimmed_mean(list)
trimmed_mean(list, arg2)

Calculate the trimmed mean of a list. Can specify cutoff values as a tuple, or simply choose the IQR min/max as the cutoffs

variance(list)

Calculate variance from a list of numbers

zscore(list)

Calculate a standard z score for each item in a list

Functions

geometric_mean(list)

Calculate the geometric mean of a list

Geometric mean is the nth root of the product of n values

Examples

iex> Statistics.geometric_mean([1,2,3]) 
1.8171205928321397
harmonic_mean(list)

Calculates the harmonic mean from a list

Harmonic mean is the number of values divided by the sum of the reciprocal of all the values.

Examples

iex> Statistics.harmonic_mean([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]) 
4.5204836768674568
iqr(list)

Calculate the inter-quartile range

kurtosis(list)

Computes the kurtosis (Fisher) of a list.

Kurtosis is the fourth central moment divided by the square of the variance.

Examples

iex> Statistics.kurtosis([1,2,3,2,1]) 
-1.1530612244897964
max(list)

Get the maximum value from a list

Call to Enum.max/1

mean(list)

Calculate the mean from a list of numbers

Examples

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

Get the median value from a list

Examples

iex> Statistics.median([1,2,3])
2
iex> Statistics.median([1,2,3,4])
2.5
min(list)

Get the minimum value from a list

Call to Enum.min/1

mode(list)

Get the most frequently occuring value

Examples

iex> Statistics.mode([1,2,3,2,4,5,2,6,7,2,8,9]) 
2
moment(list, moment \\ 1)

Calculates the nth moment about the mean for a sample.

Generally used to calculate coefficients of skewness and kurtosis. Returns the n-th central moment as a float The denominator for the moment calculation is the number of observations, no degrees of freedom correction is done.

Examples

iex> Statistics.moment([1,2,3,4,5,6,7,8,9,8,7,6,5,4,3],3) 
-1.3440000000000025
percentile(list, n)

Get the nth percentile cutoff from a list

Examples

iex> Statistics.percentile([1,2,3,4,5,6,7,8,9],80)
7.4
iex> Statistics.percentile([1,2,3,4,5,6,7,8,9],100)
9
quartile(list, quartile)

Get the quartile cutoff value from a list

responds to only first and third quartile.

Examples

iex>  Statistics.quartile([1,2,3,4,5,6,7,8,9],:first) 
3
iex>  Statistics.quartile([1,2,3,4,5,6,7,8,9],:third)
7
range(list)

Get range of data

skew(list)

Computes the skewness of a data set.

For normally distributed data, the skewness should be about 0. A skewness value > 0 means that there is more weight in the left tail of the distribution.

Examples

iex> Statistics.skew([1,2,3,2,1])  
0.3436215967445454
start(type, args)

Callback implementation of :application.start/2.

stdev(list)

Calculate the standard deviation of a list

Examples

iex> Statistics.stdev([1,2])
0.5
sum(list)

Sum the contents of a list

Calls Enum.sum/1

trimmed_mean(list)
trimmed_mean(list, arg2)

Calculate the trimmed mean of a list. Can specify cutoff values as a tuple, or simply choose the IQR min/max as the cutoffs

Examples

iex> Statistics.trimmed_mean([1,2,3],{1,3}) 2.0 iex> Statistics.trimmed_mean([1,2,3,4,5,5,6,6,7,7,8,8,10,11,12,13,14,15], :iqr) 7.3

variance(list)

Calculate variance from a list of numbers

Examples

iex> Statistics.variance([1,2,3,4])
1.25
iex> Statistics.variance([55,56,60,65,54,51,39])
56.48979591836735
zscore(list)

Calculate a standard z score for each item in a list

Examples

iex> Statistics.zscore([3,2,3,4,5,6,5,4,3])
[-0.7427813527082074, -1.5784103745049407, -0.7427813527082074,
0.09284766908852597, 0.9284766908852594, 1.7641057126819928,
0.9284766908852594, 0.09284766908852597, -0.7427813527082074]