Sha256: 3b5640396e267e289b1d28086c39c340043a52f3bcda89f1f23b489662a2989e
Contents?: true
Size: 951 Bytes
Versions: 1
Compression:
Stored size: 951 Bytes
Contents
class Array # For reference: # https://www.mathsisfun.com/data/standard-deviation-formulas.html # Population standard deviation def stdevp return false unless self.length > 0 arr = self # Step 1: Get the mean mean = arr.inject(:+).to_f / arr.length.to_f # Step 2: Subtract the mean and square the result step_2 = arr.reduce([]) do |i, n| i << (n.to_f - mean) ** 2 end # Step 3: Get mean of step 2 step_3 = step_2.inject(:+).to_f / step_2.length.to_f # Step 4: Square root of step 3 Math.sqrt(step_3).to_f end # For reference: # http://stackoverflow.com/questions/27249327/how-to-merge-hashes-if-a-specified-keys-values-are-same-in-a-array # Credits to http://stackoverflow.com/users/390819/w0lf for the solution def merge_hashes_using_key(key) return false unless self.length > 0 arr = self arr.group_by{ |h| h[key] }.collect{ |_, hs| hs.reduce(:merge) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quick_codes-0.1.1 | lib/overloads/array.rb |