You are looking at historical revision 20488 of this page. It may differ significantly from its current revision.

Still under testing!

Introduction

This library is a port of Larry Hunter's Lisp statistics library to chicken scheme.

The library provides a number of formulae and methods taken from the book "Fundamentals of Biostatistics" by Bernard Rosner (5th edition).

Provided Functions

Utilities

(random-pick items)
given a list of items, returns a random item.
(random-sample n items)
given a number of items to select, n, and a list of items to select from, items, returns a random sample without replacement of size n.
(sign n)
given a number n, returns 0, 1 or -1 according to if n is zero, positive or negative.
(square n)
given a number n, returns the square of n.

Descriptive statistics

These functions provide information on a given list of numbers. Note, the list of items does not have to be sorted.

(mean items)
given a list of numbers, items, returns the arithmetic mean of the items (the sum of the numbers divided by the number of numbers).
(mean '(1 2 3 4 5)) => 3
(median items)
given a list of numbers, items, returns the value which separates the upper and lower halves of the list of numbers.
(median '(1 2 3 4)) => 5/2
(mode items)
(geometric-mean items)
given a list of numbers, items, returns the geometric mean of the items (the result of multiplying the items together and then taking the nth root, where n is the number of items).
(geometric-mean '(1 2 3 4 5)) => 2.60517108469735
(range items)
given a list of numbers, items, returns the difference between the biggest and the smallest value.
(range '(5 1 2 3 4)) => 4
(percentile items percent)
given a list of numbers, items, and a percentage, percent, returns the item closest to the percent value if the items are sorted into order; the returned item may be in the list, or the average of adjacent values.
(percentile '(1 2 3 4) 50) => 5/2
(percentile '(1 2 3 4) 67) => 3
(variance items)
given a list of numbers, items, returns the variance of the numbers.
(standard-deviation items)
given a list of numbers, items, returns the standard deviation of the numbers.
(coefficient-of-variation items)
given a list of numbers, items, returns 100 * (std-dev / mean) of the items.
(coefficient-of-variation '(1 2 3 4)) => 51.6397779494322
(standard-error-of-the-mean items)
given a list of numbers, items, returns std-dev / sqrt(length items).
 (standard-error-of-the-mean '(1 2 3 4)) => 0.645497224367903
(mean-sd-n items)
given a list of numbers, items, returns three values, one for the mean, one for the standard deviation, and one for the length of the list.
> (mean-sd-n '(1 2 3 4))
5/2
1.29099444873581
4

Distributional functions

Confidence intervals

Hypothesis testing

(parametric)

(non parametric)

Sample size estimates

Correlation and regression

Significance test functions

Authors

Peter Lane wrote the scheme version of this library. The original Lisp version was written by Larry Hunter.

License

GPL version 3.0.

Requirements

Needs srfi-1, srfi-25, srfi-69, vector-lib, numbers, extras, foreign, format

Uses the GNU scientific library for basic numeric processing, so requires libgsl, libgslcblas and the development files for libgsl.

Version History

trunk, for testing