Module: Enumerable

Included in:
Jtl::DataSet
Defined in:
lib/jtl/core_ext/enumerable.rb

Instance Method Summary collapse

Instance Method Details

#frequencies(interval = nil, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/jtl/core_ext/enumerable.rb', line 6

def frequencies(interval = nil, &block)
  if interval
    fs0 = self.map {|i| i - i % interval }.frequencies(&block)
    fs = {}

    (fs0.keys.min..fs0.keys.max).step(interval).each do |n|
      fs[n] = fs0[n] || 0
    end

    fs
  else
    frequencies_orig(&block)
  end
end

#frequencies_origObject



4
# File 'lib/jtl/core_ext/enumerable.rb', line 4

alias frequencies_orig frequencies

#to_gruff_labelsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jtl/core_ext/enumerable.rb', line 21

def to_gruff_labels
  labels = {}

  self.each_with_index do |label, i|
    labels[i] = label
  end

  if block_given?
    labels = Hash[*labels.select {|k, v| yield(k, v) }.flatten]
  end

  Hash[*labels.map {|k, v| [k, v.to_s] }.flatten]
end