Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/overloads/array.rb

Instance Method Summary collapse

Instance Method Details

#stdevpObject

Population standard deviation



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/overloads/array.rb', line 6

def stdevp
  return false unless self.length > 0

  arr = self
  # Step 1: Get the mean
  mean = arr.inject(:+).to_f / arr.length.to_f

  # Step 2: Subtract the mean and square the result
  step_2 = arr.reduce([]) do |i, n|
    i << (n.to_f - mean) ** 2
  end

  # Step 3: Get mean of step 2
  step_3 = step_2.inject(:+).to_f / step_2.length.to_f

  # Step 4: Square root of step 3
  Math.sqrt(step_3).to_f
end