Module: Metricize::Stats
- Defined in:
- lib/metricize/stats.rb
Instance Method Summary collapse
- #calculate_percentile(percentile) ⇒ Object
- #mean ⇒ Object
- #sample_variance ⇒ Object
- #standard_deviation ⇒ Object
- #sum ⇒ Object
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 |
#mean ⇒ Object
8 9 10 |
# File 'lib/metricize/stats.rb', line 8 def mean return self.sum / self.length.to_f end |
#sample_variance ⇒ Object
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_deviation ⇒ Object
18 19 20 |
# File 'lib/metricize/stats.rb', line 18 def standard_deviation return Math.sqrt(self.sample_variance) end |
#sum ⇒ Object
4 5 6 |
# File 'lib/metricize/stats.rb', line 4 def sum return self.inject(0){|accum, i| accum + i } end |