平均・分散・標準偏差を求める
配列の要素をto_iした値の平均・分散・標準偏差を求める関数です。
class Array # 要素をto_iした値の平均を算出する def avg inject(0.0){|r,i| r+=i.to_i }/size end # 要素をto_iした値の分散を算出する def variance a = avg inject(0.0){|r,i| r+=(i.to_i-a)**2 }/size end # 要素をto_iした値の標準偏差を算出する def standard_deviation Math.sqrt(variance) end end
サンプル。
array = [6,4,6,6,6,3,7,2,2,8] puts array.avg puts array.variance puts array.standard_deviation
実行結果です。
5.0 4.0 2.0