Module: Metricize::Stats

Defined in:
lib/metricize/stats.rb

Instance Method Summary collapse

Instance Method Details

#calculate_percentile(percentile) ⇒ Object



22
23
24
25
26
27
# 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

#meanObject



8
9
10
# File 'lib/metricize/stats.rb', line 8

def mean
  return self.sum / self.length.to_f
end

#sample_varianceObject



12
13
14
15
16
# 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_deviationObject



18
19
20
# File 'lib/metricize/stats.rb', line 18

def standard_deviation
  return Math.sqrt(self.sample_variance)
end

#sumObject



4
5
6
# File 'lib/metricize/stats.rb', line 4

def sum
  return self.inject(0){|accum, i| accum + i }
end