Class: Array
- Inherits:
-
Object
- Object
- Array
- Defined in:
- lib/rearview/templates/utilities.rb
Overview
Add re-usable code/functions in this module
Instance Method Summary collapse
- #mean ⇒ Object
- #median ⇒ Object
- #percentile(number) ⇒ Object
- #sample_variance ⇒ Object
- #stdev ⇒ Object
- #sum ⇒ Object
Instance Method Details
#mean ⇒ Object
5 6 7 |
# File 'lib/rearview/templates/utilities.rb', line 5 def mean self.sum / self.length end |
#median ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/rearview/templates/utilities.rb', line 9 def median sorted = self.sort mid = self.length / 2 if self.length.odd? sorted[mid].to_f else (sorted[mid-1] + sorted[mid]).to_f / 2.0 end end |
#percentile(number) ⇒ Object
23 24 25 26 27 |
# File 'lib/rearview/templates/utilities.rb', line 23 def percentile(number) position = (number > 1) ? (number.to_f / 100) : number arr = self.map { |x| x || 0 } arr.sort[(arr.length * position) - 1] end |
#sample_variance ⇒ Object
29 30 31 |
# File 'lib/rearview/templates/utilities.rb', line 29 def sample_variance return self.sum / (self.length - 1).to_f end |
#stdev ⇒ Object
33 34 35 |
# File 'lib/rearview/templates/utilities.rb', line 33 def stdev return Math.sqrt(self.sample_variance) end |
#sum ⇒ Object
19 20 21 |
# File 'lib/rearview/templates/utilities.rb', line 19 def sum self.inject(0) { |total, n| total + n.to_f } end |