Overview

Array Statistics

Comprehensive statistics on an array of Floats

Source Code

// Comprehensive statistics on an array of Floats
var data: array of Float = [10.0, 20.0, 30.0, 40.0, 50.0];

function CalculateStats(a: array of Float): JSONVariant;
begin
  var sum := 0.0;
  for var v in a do
    sum += v;
    
  var mean := sum / a.Length;
  
  var varianceSum := 0.0;
  for var v in a do
    varianceSum += Sqr(v - mean);
    
  var variance := varianceSum / a.Length;
  
  Result := JSON.NewObject;
  Result.Sum := sum;
  Result.Mean := mean;
  Result.Variance := variance;
  Result.StdDev := Sqrt(variance);
end;

var stats := CalculateStats(data);

PrintLn('Data: ' + JSON.Stringify(data));
PrintLn('Sum:      ' + Float(stats.Sum).ToString(2));
PrintLn('Mean:     ' + Float(stats.Mean).ToString(2));
PrintLn('Variance: ' + Float(stats.Variance).ToString(2));
PrintLn('StdDev:   ' + Float(stats.StdDev).ToString(2));

Result

Data: [10,20,30,40,50]
Sum:      150.00
Mean:     30.00
Variance: 200.00
StdDev:   14.14
On this page