Class: Array

Inherits:
Object show all
Defined in:
lib/sequence_logo/ytilib/addon.rb

Instance Method Summary collapse

Instance Method Details

#averageObject 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

#shuffleObject



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

#sumObject



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

#varianceObject



48
49
50
# File 'lib/sequence_logo/ytilib/addon.rb', line 48

def variance
  return self.collect { |s| s*s }.average - average**2
end