配列に統計計算をするスニペットをつくった。
使い方 C:\Users\******\Ruby>irb irb(main):001:0> require 'stat.rb' => true irb(main):002:0> [1,2,3].stat ........ 個数、総和、平均、標準偏差 => [3, 6, 2.0, 1.0] irb(main):003:0> [1,2,3].sum ........ 総和 => 6 irb(main):004:0> [1,2,3].mean ........ 平均 => 2.0 irb(main):005:0> [1,2,3].sd ........ 標準偏差 => 1.0 irb(main):006:0> [1,2,3].cor([4,5,6]) ........ 相関係数 => 0.262612865719445 ファイル名: stat.rb class Array def stat sum = 0 ss = 0 n = self.size self.each do |x| sum += x end mean = sum / n.to_f self.each do |x| ss += (x - mean) ** 2 end ss = ss / (n - 1).to_f sd = Math.sqrt(ss) return n, sum, mean, sd end def sum return self.stat[1] end def mean return self.stat[2] end def sd return self.stat[3] end def cor(other) sum_x = 0 sum_y = 0 n = self.size for i in 0...n sum_x += self[i] sum_y += self[i] end mean_x = sum_x / n.to_f mean_y = sum_y / n.to_f ss_x = 0 ss_y = 0 ss_xy = 0 for i in 0...n ss_x += (self[i] - mean_x) ** 2 ss_y += (other[i] - mean_y) ** 2 ss_xy += (self[i] - mean_x) * (other[i] - mean_y) end r = ss_xy / Math.sqrt(ss_x) / Math.sqrt(ss_y) return r end end
by tnomura9
| 2008-09-23 07:53
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||