Ruby で中央値を求める
Ruby
Published: 2019-05-15

やったこと

Ruby で中央値を求める方法を調べました。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

調査

今回は、facets という汎用メソッドが拡張されたものがあるので、それを使ってみます。

facets のインストール

$ gem install facets

インストールした facets のバージョン確認

$ gem list | grep facet
facets (3.1.0)

Math.median

test.rb

require 'facets/math'

a = [6, 3, 4, 9, 1, 2]

p Math.median(a)

出力結果

$ ruby test.rb
3.5

Array.median

test.rb

require 'facets/array/median'

b = [6, 3, 4, 9, 1, 2]

p b.median

出力結果

$ ruby test.rb
4

まとめ

配列が偶数個あった場合の挙動が変わります。 Math.median では平均値を出力してくれました。

参考