Module: Statistics::StandardDeviation

Defined in:
lib/Statistics/StandardDeviation.rb

Class Method Summary collapse

Class Method Details

.of(values, sample: false) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/Statistics/StandardDeviation.rb', line 8

def of(values, sample: false)
  floats = values.map(&:to_f)
  mean = floats.sum / floats.size
  denominator = sample ? floats.size - 1 : floats.size
  variance = floats.map{|v| (v - mean) ** 2}.sum / denominator
  Math.sqrt(variance)
end