class StatisticalMethods::Computer

Calculation class

Public Class Methods

new() click to toggle source
# File lib/statistical_methods/computer.rb, line 4
def initialize
  @average = StatisticalMethods::SummaryStatistic::Location::Average
  @median = StatisticalMethods::SummaryStatistic::Location::Median
  @mode = StatisticalMethods::SummaryStatistic::Location::Mode
end

Public Instance Methods

geometric_mean(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 46
def geometric_mean(array)
  @average.new(array).geometric_mean
end
harmonic_mean(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 42
def harmonic_mean(array)
  @average.new(array).harmonic_mean
end
leader(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 63
def leader(array)
  Leader.new(array).find
end
max(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 22
def max(array)
  array.max
end
mean(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 14
def mean(array)
  @average.new(array).arithmetic_mean
end
median(array) click to toggle source

en.wikipedia.org/wiki/Median

# File lib/statistical_methods/computer.rb, line 38
def median(array)
  @median.new(array).find
end
min(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 18
def min(array)
  array.min
end
mode(array) click to toggle source

en.wikipedia.org/wiki/Mode_(statistics)

# File lib/statistical_methods/computer.rb, line 51
def mode(array)
  @mode.new(array).find
end
power_mean(array, exponent) click to toggle source
# File lib/statistical_methods/computer.rb, line 59
def power_mean(array, exponent)
  @average.new(array).power_mean(exponent)
end
quadratic_mean(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 55
def quadratic_mean(array)
  @average.new(array).quadratic_mean
end
standard_deviation(array) click to toggle source

en.wikipedia.org/wiki/Standard_deviation

# File lib/statistical_methods/computer.rb, line 33
def standard_deviation(array)
  Math.sqrt(variance array)
end
sum(array) click to toggle source
# File lib/statistical_methods/computer.rb, line 10
def sum(array)
  array.addition
end
variance(array) click to toggle source

en.wikipedia.org/wiki/Variance

# File lib/statistical_methods/computer.rb, line 27
def variance(array)
  arithmetic_mean = mean(array)
  mean(array.map { |value| (arithmetic_mean - value)**2 })
end