module Basic::Stats
Constants
- VERSION
Public Class Methods
critical_z(n)
click to toggle source
# File lib/basic/stats.rb, line 103 def self.critical_z(n) result = nil @@critical_z_table.keys.sort.each do |key| break if key > n result = @@critical_z_table[key] end result end
Public Instance Methods
critical_z()
click to toggle source
# File lib/basic/stats.rb, line 33 def critical_z Stats.critical_z(self.size) end
mean()
click to toggle source
# File lib/basic/stats.rb, line 9 def mean self.sum/self.length.to_f end
median()
click to toggle source
# File lib/basic/stats.rb, line 13 def median sorted = self.sort len = sorted.length return (sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0 end
reject_outliers()
click to toggle source
# File lib/basic/stats.rb, line 37 def reject_outliers cz = self.critical_z self.reject { |value| z(value) > cz } end
reject_outliers!()
click to toggle source
# File lib/basic/stats.rb, line 42 def reject_outliers! cz = self.critical_z self.reject! { |value| z(value) > cz } end
sample_variance()
click to toggle source
# File lib/basic/stats.rb, line 19 def sample_variance m = self.mean sum = self.inject(0){|accum, i| accum +(i-m)**2 } sum/(self.length - 1).to_f end
select_outliers()
click to toggle source
# File lib/basic/stats.rb, line 47 def select_outliers cz = self.critical_z self.select { |value| z(value) > cz } end
standard_deviation()
click to toggle source
# File lib/basic/stats.rb, line 25 def standard_deviation return Math.sqrt(self.sample_variance) end
sum()
click to toggle source
# File lib/basic/stats.rb, line 5 def sum self.inject(0){|accum, i| accum + i } end
z(value)
click to toggle source
# File lib/basic/stats.rb, line 29 def z(value) (self.mean - value).abs/standard_deviation end