Statistics::Lite(3pm)

Statistics::Lite3pm

Small stats stuff.

Usage

        use Statistics::Lite qw(:all);
        $min= min @data;
        $mean= mean @data;
        %data= statshash @data;
        print "sum= $data{sum} stddev= $data{stddev}\n";
        print statsinfo(@data);

Overview

This module is a lightweight, functional alternative to larger, more complete, object-oriented statistics packages. As such, it is likely to be better suited, in general, to smaller data sets.

This is also a module for dilettantes.

When you just want something to give some very basic, high-school-level statistical values, without having to set up and populate an object first, this module may be useful.

Note

This module implements standard deviation and variance calculated by both the unbiased and biased estimators.

Functions

"min(@data)", "max(@data)", "range(@data)", "sum(@data)", "count(@data)"

Returns the minimum value, maximum value, range (max - min), sum, or count of values in @data. Undefined values are ignored.

"count(@data)" simply returns "scalar(@data)".

Please note that this module does not ignore undefined values in your data; instead, those are treated as zero.

"mean(@data)", "median(@data)", "mode(@data)"

Calculates the mean, median, or mode average of the values in @data. Undefined values are ignored. (In the event of ties in the mode average, their mean is returned.)

"variance(@data)", "stddev(@data)"

Returns the standard deviation or variance of @data for a sample (same as Excel's STDEV). This is also called the Unbiased Sample Variance and involves dividing the sample's squared deviations by N-1 (the sample count minus 1). The standard deviation is just the square root of the variance.

"variancep(@data)", "stddevp(@data)"

Returns the standard deviation or variance of @data for the population (same as Excel's STDEVP). This involves dividing the squared deviations of the population by N (the population size). The standard deviation is just the square root of the variance.

"statshash(@data)"

Returns a hash whose keys are the names of all the functions listed above, with the corresponding values, calculated for the data set.

"statsinfo(@data)"

Returns a string describing the data set, using the values detailed above.

"frequencies(@data)"

Returns a hash. The keys are the distinct values in the data set, and the values are the number of times that value occurred in the data set.

Import Tags

The ":all" import tag imports all exportable functions from this module into the current namespace (use with caution). More specifically, these functions are the following: "min", "max", "range", "sum", "count", "mean", "median", "mode", "variance", "stddev", "variancep", "stddevp", "statshash", "statsinfo", and "frequencies".

To import the statistical functions, use the import tag ":funcs". This imports all of the above-mentioned functions, except for "statshash", "statsinfo", and "frequencies".

Use ":stats" to import "statshash(@data)" and "statsinfo(@data)".

Repository

<https://github.com/brianary/Statistics-Lite>

Releases

5 releases since Debian 9 (Stretch); the text changed 1 time.

  1. 9–10
  2. 11–13

Author

Brian Lalonde <[email protected]>, "stddev(@data)", "stddevp(@data)", "variance(@data)", "variancep(@data)", additional motivation by Nathan Haigh, with kind support from Alexander Zangerl.

The project lives at https://github.com/brianary/Statistics-Lite

From libstatistics-lite-perl 3.62-1.1 in Debian 13 (Trixie). Parsed by carta from the page's man source.