# (lispkit math stats)

Library

`(lispkit math stats)`

implements statistical utility functions. The functions compute summary values for collections of samples, and functions for managing sequences of samples. Most of the functions accept a list of real numbers corresponding to sample values.

**(mode**

*xs***)**

Computes the mode of a set of numbers

*xs*. The mode is the value that appears most often in*xs*.*xs*is a proper list of numeric values.`=`

is used as the equality operator.**(mean**

*xs***)**

Computes the arithmetic mean of a set of numbers

*xs*.*xs*is a proper list of numeric values.**(range**

*xs***)**

Computes the range of a set of numbers

*xs*, i.e. the difference between the largest and the smallest value.*xs*is a proper list of numeric values which are ordered using the`<`

relation.**(variance**

*xs***)**

**(variance**

*xs bias***)**

Computes the variance for a set of numbers

*xs*, optionally applying bias correction.*xs*is a proper list of numeric values. Bias correction gets enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.**(stddev**

*xs***)**

**(stddev**

*xs bias***)**

Computes the standard deviation for a set of numbers

*xs*, optionally applying bias correction.*xs*is a proper list of numeric values. Bias correction gets enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.**(skewness**

*xs***)**

**(skewness**

*xs bias***)**

Computes the skewness for a set of numbers

*xs*, optionally applying bias correction.*xs*is a proper list of numeric values. Bias correction gets enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.**(kurtosis**

*xs***)**

**(kurtosis**

*xs bias***)**

Computes the kurtosis for a set of numbers

*xs*, optionally applying bias correction.*xs*is a proper list of numeric values. Bias correction gets enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.**(absdev**

*xs***)**

Computes the average absolute difference between the numbers in list

*xs*and`(median xs)`

.**(quantile**

*xs p***)**

Computes the p-quantile for a set of numbers

*xs*(also known as the*inverse cumulative distribution*).*p*is a real number between 0 and 1.0. For instance, the 0.5-quantile corresponds to the median.**(percentile**

*xs pct***)**

Computes the percentile for a set of numbers

*xs*and a given percentage*pct*.*pct*is a number between 0 and 100. For instance, the 90th percentile corresponds to the 0.9-quantile.**(median**

*xs***)**

Computes the median for a set of numbers

*xs*.**(interquartile-range**

*xs***)**

Returns the interquartile range for a given set of numbers

*xs*.*xs*is a proper list of numeric values. The interquartile range is the difference between the 0.75-quantile and the 0.25-quantile.**(five-number-summary**

*xs***)**

Returns a list of 5 statistics describing the set of numbers

*xs*: the minimum value, the lower quartile, the median, the upper quartile, and the maximum value.**(covariance**

*xs ys***)**

**(covariance**

*xs ys bias***)**

Computes the covariance of two sets of numbers

*xs*and*ys*. Both*xs*and*ys*are proper lists of numbers. Bias correction can be enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.**(correlation**

*xs ys***)**

**(correlation**

*xs ys bias***)**

Computes the correlation of two sets of numbers

*xs*and*ys*in form of the*Pearson product-moment correlation coefficient*. Both*xs*and*ys*are proper lists of numbers. Bias correction can be enabled by setting*bias*to`#t`

. Alternatively, it is possible to provide a positive integer, which is used instead of the number of elements in *xs*.Last modified 5mo ago