Method: Statsample::GGobi.variable_definition

Defined in:
lib/statsample/converters.rb

.variable_definition(carrier, v, name, nickname = nil) ⇒ Object

Outputs a string for a variable definition v = vector name = name of the variable nickname = nickname



186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
# File 'lib/statsample/converters.rb', line 186

def variable_definition(carrier,v,name,nickname=nil)
  nickname = (nickname.nil? ? "" : "nickname=\"#{nickname}\"" )
  if v.type==:object or v.to_a.find {|d|  d.is_a? String }
    carrier.categorials.push(name)
    carrier.conversions[name]={}
    factors=v.factors
    out ="<categoricalvariable name=\"#{name}\" #{nickname}>\n"
    out << "<levels count=\"#{factors.size}\">\n"
    out << (1..factors.size).to_a.collect{|i|
      carrier.conversions[name][factors[i-1]]=i
      "<level value=\"#{i}\">#{(v.labels[factors[i-1]] || factors[i-1])}</level>"
    }.join("\n")
    out << "</levels>\n</categoricalvariable>\n"
    out
  elsif v.to_a.find {|d| d.is_a? Float}
    "<realvariable name=\"#{name}\" #{nickname} />"
  else
    "<integervariable name=\"#{name}\" #{nickname} />"
  end
end