module Metricize::Stats

Public Instance Methods

calculate_percentile(percentile) click to toggle source
# File lib/metricize/stats.rb, line 22
def calculate_percentile(percentile)
  return self.first if self.size == 1
  values_sorted = self.sort
  k = (percentile*(values_sorted.length-1)+1).floor - 1
  values_sorted[k]
end
mean() click to toggle source
# File lib/metricize/stats.rb, line 8
def mean
  return self.sum / self.length.to_f
end
sample_variance() click to toggle source
# File lib/metricize/stats.rb, line 12
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/metricize/stats.rb, line 18
def standard_deviation
  return Math.sqrt(self.sample_variance)
end
sum() click to toggle source
# File lib/metricize/stats.rb, line 4
def sum
  return self.inject(0){|accum, i| accum + i }
end