Class: Array
Instance Method Summary collapse
- #average ⇒ Object (also: #mean)
- #shuffle ⇒ Object
- #shuffle! ⇒ Object
- #sum ⇒ Object
- #variance ⇒ Object
Instance Method Details
#average ⇒ Object Also known as: mean
43 44 45 |
# File 'lib/sequence_logo/ytilib/addon.rb', line 43 def average self.empty? ? nil : self.inject(0) { |sum,s| sum += s } / self.size end |
#shuffle ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/sequence_logo/ytilib/addon.rb', line 26 def shuffle arr = self.dup arr.size.downto 2 do |j| r = rand j arr[j-1], arr[r] = arr[r], arr[j-1] end arr end |
#shuffle! ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/sequence_logo/ytilib/addon.rb', line 35 def shuffle! (size - 1).downto 1 do |i| j = rand(i + 1) self[i], self[j] = self[j], self[i] end self end |
#sum ⇒ Object
52 53 54 |
# File 'lib/sequence_logo/ytilib/addon.rb', line 52 def sum self.inject(self[0]) { |sum,s| sum += s} - self[0] end |
#variance ⇒ Object
48 49 50 |
# File 'lib/sequence_logo/ytilib/addon.rb', line 48 def variance return self.collect { |s| s*s }.average - average**2 end |