class StatisticalArray::StatsArray
Public Class Methods
new(ary, template=nil)
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 3 def initialize ary, template=nil @ary = Array(ary).flatten.compact @template_name = template || 'ArrayTemplate' end
Public Instance Methods
maximum()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 16 def maximum @ary.max end
Also aliased as: max
mean()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 20 def mean @ary.reduce(:+) / @ary.count.to_f end
Also aliased as: avg
median()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 24 def median return nil if @ary.empty? n = @ary.size a = @ary.sort n.odd? ? a[(n-1)/2] : a[(n-1)/2,2].reduce(:+) / 2.0 end
minimum()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 12 def minimum @ary.min end
Also aliased as: min
population_standard_deviation()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 31 def population_standard_deviation Math.sqrt @ary.reduce(0) { |i, j| i + (j - mean)**2 } / @ary.count end
Also aliased as: pop_std
print()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 8 def print Kernel.const_get(@template_name.to_s).render self end
sample_standard_deviation()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 35 def sample_standard_deviation Math.sqrt @ary.reduce(0) { |i, j| i + (j - mean)**2 } / (@ary.count - 1.5) end
Also aliased as: std_dev
sum()
click to toggle source
# File lib/statistical_array/statistical_array.rb, line 39 def sum @ary.reduce(:+) end
Also aliased as: total