Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/rearview/templates/utilities.rb

Overview

Add re-usable code/functions in this module

Instance Method Summary collapse

Instance Method Details

#meanObject



5
6
7
# File 'lib/rearview/templates/utilities.rb', line 5

def mean
  self.sum / self.length
end

#medianObject



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_varianceObject



29
30
31
# File 'lib/rearview/templates/utilities.rb', line 29

def sample_variance
  return self.sum / (self.length - 1).to_f
end

#stdevObject



33
34
35
# File 'lib/rearview/templates/utilities.rb', line 33

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

#sumObject



19
20
21
# File 'lib/rearview/templates/utilities.rb', line 19

def sum
  self.inject(0) { |total, n| total + n.to_f }
end