Class Histogram
In: lib/histogram.rb
Parent: Object
Copyright:Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
Author:Nicolas Pouillard <ertai@lrde.epita.fr>.
License:Gnu General Public License.
Revision:$Id: /w/fey/ruby_ex/trunk/lib/histogram.rb 7944 2005-09-06T23:27:27.929371Z ertai $

Methods

Classes and Modules

Class Histogram::EquivalenceClass

Public Class methods

Here the enumearation is something which respond to each.

[Source]

# File lib/histogram.rb, line 49
  def initialize ( enum=nil )
    @hist = []
    enum.each { |x| self << x } unless enum.nil?
  end

Public Instance methods

[Source]

# File lib/histogram.rb, line 88
  def << ( anObject )
    anEquivalenceClass = equivalence_class_of anObject
    if anEquivalenceClass.nil?
      @hist << EquivalenceClass.new(@hist.size, anObject)
    else
      anEquivalenceClass << anObject
    end
    self
  end

[Source]

# File lib/histogram.rb, line 99
  def [] ( anObject )
    anEquivalenceClass = equivalence_class_of(anObject)
    (anEquivalenceClass)? anEquivalenceClass.size : 0
  end

[Source]

# File lib/histogram.rb, line 105
  def each ( &block )
    @hist.each(&block)
  end

[Source]

# File lib/histogram.rb, line 83
  def equivalence_class_by_index ( anInteger )
    @hist[anInteger]
  end

[Source]

# File lib/histogram.rb, line 75
  def equivalence_class_of ( anObject )
    @hist.each do |anEquivalenceClass|
      return anEquivalenceClass if anEquivalenceClass.include? anObject
    end
    return nil
  end

Returns apparation frequences as an array which is the @support@ divided by the amount of samples.

[Source]

# File lib/histogram.rb, line 63
  def frequences
    sup = support
    total = sup.sum
    sup.map { |x| x.to_f / total }
  end

[Source]

# File lib/histogram.rb, line 110
  def size
    @hist.size
  end

Returns an array with size of each equivalence class.

[Source]

# File lib/histogram.rb, line 56
  def support
    @hist.map { |equivalence_class| equivalence_class.size }
  end

[Source]

# File lib/histogram.rb, line 115
  def to_a
    @hist.dup
  end

[Source]

# File lib/histogram.rb, line 70
  def total
    support.sum
  end

[Validate]