File: enumerable.rb

package info (click to toggle)
ruby-statistics 2.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 224 kB
  • sloc: ruby: 989; sh: 4; makefile: 4
file content (15 lines) | stat: -rw-r--r-- 304 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# TODO: Avoid monkey-patching.
module Enumerable
  def mean
    self.reduce(:+) / self.length.to_f
  end

  def variance
    mean = self.mean
    self.reduce(0) { |memo, value| memo + ((value - mean) ** 2) } / (self.length - 1).to_f
  end

  def standard_deviation
    Math.sqrt(self.variance)
  end
end