<?php

//require_once 'Math/Stats.php';
require_once __DIR__ . '/../../vendor/autoload.php';
$data = array();
$fp = fopen(__DIR__ . "/../../tests/_data/bigcummulativedata.dat", "r");
while ((list($val, $count) = fgetcsv($fp, 80)) !== false) {
    $data[$val] = $count;
}
$s = new \PEAR\Math\Stats();
$s->setData($data, \PEAR\Math\Stats::STATS_DATA_CUMMULATIVE);
try {
    $stats = $s->calcFull();
    //print_r($stats);
    echo "Using Math_Stats:\n" . "mean = {$stats['mean']}\n" . "SEmean = {$stats['std_error_of_mean']}\n" . "std dev = {$stats['stdev']}\n" . "quartile(25)) = {$stats['quartiles'][25]}\n" . "median = {$stats['median']}\n" . "quartile(75) = {$stats['quartiles'][75]}\n" . "min = {$stats['min']}\n" . "max = {$stats['max']}\n" . "count = {$stats['count']}\n\n" . "Using SPSS:\n" . "mean = 2.8627\n" . "SEmean = 0.0005\n" . "std dev = 1.0630\n" . "quartile(25) = 2\n" . "median = 3\n" . "quartile(75) = 4\n" . "min = 1\n" . "max = 41\n" . "count = 4255666\n";
    //Name,Mean,SEMean,StDev,Q1,Median,Q3,Min,Max,N
    //SPSS,2.8627,0.0005,1.0630,2,3,4,1,41,4255666
} catch (\Exception $e) {
    echo "\n\t Exception: " . $e->getMessage() . "\n\n";
}
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Jesus M. Castagnetto <*****@*****.**>                |
// +----------------------------------------------------------------------+
//
// $Id$
//
/**
 * @package	Math_Stats
 */
require_once __DIR__ . '/../../vendor/autoload.php';
// making some data sets
$data = array(2, 2.3, 4.5, 2, 2, 3.2, 5.3, 3, 4, 5, 1, 6);
$dnulls = array(1.165, null, "foo", 0.6268, 0.6268, 0.0751, 0.3516, -0.6965);
// instantiating a Math_Stats object
$s = new \PEAR\Math\Stats();
echo "*** Original data set\n";
print_r($data);
$s->setData($data);
echo "Basic statistics\n";
print_r($s->calcBasic());
echo "\n*** A data set with nulls\n";
print_r($dnulls);
echo "Let's generate an error\n";
try {
    print_r($s->setData($dnulls));
} catch (\Exception $e) {
    echo "\n\t Exception: " . $e->getMessage() . "\n\n";
}
echo "Ignoring nulls and trying again\n";
$s->setNullOption(\PEAR\Math\Stats::STATS_IGNORE_NULL);
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Jesus M. Castagnetto <*****@*****.**>                |
// +----------------------------------------------------------------------+
//
// $Id$
//
/**
 * @package	Math_Stats
 */
require_once __DIR__ . '/../../vendor/autoload.php';
// making some cummulative data sets
$data = array("3" => 4, "2.333" => 5, "1.22" => 6, "0.5" => 3, "0.9" => 2, "2.4" => 7);
$dnulls = array("3" => 4, "caca" => 2, "bar is not foo" => 6, "0.5" => 3, "0.9" => 2, "2.4" => 7);
// instantiate a Math_Stats object
$s = new \PEAR\Math\Stats();
$s->setData($data, \PEAR\Math\Stats::STATS_DATA_CUMMULATIVE);
echo "*** Original cummulative data set\n";
print_r($data);
// let's print some simple statistics
echo "Simple stats from cummulative data, note the count\n";
print_r($s->calcBasic());
// now, lets generate an error by using the $dnulls array
echo "\n*** Another cummulative data set\n";
print_r($dnulls);
echo "Generating an error by using data with nulls\n";
try {
    print_r($s->setData($dnulls, \PEAR\Math\Stats::STATS_DATA_CUMMULATIVE));
} catch (\Exception $e) {
    echo "\n\t Exception: " . $e->getMessage() . "\n\n";
}