Подготовка данных для CDF Plot с использованием модуля Statistics :: Descriptive? - PullRequest
1 голос
/ 10 марта 2010

Кто-нибудь знает, как подготовить данные для построения CDF (у меня есть куча чисел с плавающей запятой)? Я планировал использовать gnuplot, и на первый взгляд модуль Statistics :: Descriptive показался мне наиболее подходящим, но, похоже, мне здесь может понадобиться некоторая помощь.

1 Ответ

3 голосов
/ 10 марта 2010

Ваш вопрос немного расплывчат, но это может помочь вам начать:

use strict;
use warnings;

use Statistics::Descriptive;
my $stat = Statistics::Descriptive::Full->new;

# Generate some data.
my @data = map { rand 100 } 1 .. 10000;
$stat->add_data(@data);

# Put the data into a frequency distribution with 10 bins.
# The distribution will be represented as a hash, where a hash
# key represents the max value within a bin and the hash value
# is the frequency count for that bin (I'm fudging this a bit;
# see the documentation for more accurate details).
my $n_bins = 10;
my %dist = $stat->frequency_distribution($n_bins);
my @bin_maxes = sort {$a <=> $b} keys %dist;

# Check it out.    
for my $m (@bin_maxes) {
    printf "%6.3f %4d\n", $m, $dist{$m};
}
...