Last active
August 2, 2017 09:29
-
-
Save oieioi/167740c80e7113b320e22ea91dc7bdfc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Array | |
# 数列の合計を返す | |
def sum | |
self.reduce(0){|memo,v| | |
memo + v.to_f | |
} | |
end | |
# 数列の平均を返す | |
def mean | |
return nil if self.size == 0 | |
self.sum / self.size | |
end | |
# 数列の偏差の配列を返す | |
def deviations | |
me = self.mean | |
return nil if me.nil? | |
self.map {|v| | |
v.to_f - me | |
} | |
end | |
# 数列の分散を返す | |
def variance | |
devs = self.deviations | |
return nil if devs.nil? or devs.size == 0 | |
dev_sum = devs.reduce(0) {|memo, v| memo + (v**2)} | |
dev_sum / devs.size | |
end | |
# 数列の標準偏差を返す | |
def standard_deviation | |
variance = self.variance | |
return nil if variance.nil? | |
Math.sqrt variance | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment