module Enumerable

Taken from: stackoverflow.com/questions/7749568/how-can-i-do-standard-deviation-in-ruby

Public Instance Methods

mean() click to toggle source
# File lib/terragona/stats.rb, line 10
def mean
  return if self.empty?
  return self.sum / self.length.to_f
end
sample_variance() click to toggle source
# File lib/terragona/stats.rb, line 15
def sample_variance
  m = self.mean
  sum = self.inject(0){|accum, i| accum + (i - m) ** 2 }
  return sum / (self.length - 1).to_f
end
standard_deviation() click to toggle source
# File lib/terragona/stats.rb, line 21
def standard_deviation
  return Math.sqrt(self.sample_variance)
end
sum() click to toggle source
# File lib/terragona/stats.rb, line 6
def sum
  return self.inject(0){|accum, i| accum + i }
end