#!/usr/bin/perl
#example program showing use of Statistics::Descriptive::Discrete
#reads a list of numbers from STDIN and computes the statistics
use strict;
use warnings;
use Statistics::Descriptive::Discrete;
#create a new Statistics object
my $stats = Statistics::Descriptive::Discrete->new();
while(<>)
{
chomp;
$stats->add_data($_);
}
print "count = ",$stats->count(),"\n";
print "unique = ",$stats->uniq(),"\n";
print "sum = ",$stats->sum(),"\n";
print "min = ",$stats->min(),"\n";
print "max = ",$stats->max(),"\n";
print "mean = ",$stats->mean(),"\n";
print "standard_deviation = ",$stats->standard_deviation(),"\n";
print "variance = ",$stats->variance(),"\n";
print "sample_range = ",$stats->sample_range(),"\n";
print "mode = ",$stats->mode(),"\n";
print "median = ",$stats->median(),"\n";
#compute frequency distribution
print "-"x80,"\n";
my %histogram = $stats->frequency_distribution(5);
print "$_\t\t$histogram{$_}\n" foreach (sort {$a <=> $b} keys %histogram);
#get a copy of the data -- sort of defeats the purpose if you have a lot of data points
#my @data = $stats->get_data();
#print "data = @data\n";
syntax highlighted by Code2HTML, v. 0.9.1