module Statsample::Mx
Public Instance Methods
write(dataset,filename,type=:covariance)
click to toggle source
# File pkg/statsample-1.4.0/lib/statsample/converters.rb, line 247 def write(dataset,filename,type=:covariance) puts "Writing MX File" File.open(filename,"w") do |fp| fp.puts "! #{filename}" fp.puts "! Output generated by Statsample" fp.puts "Data Ninput=#{dataset.fields.size} Nobservations=#{dataset.cases}" fp.puts "Labels "+dataset.fields.join(" ") case type when :raw fp.puts "Rectangular" dataset.each do |row| out=dataset.fields.collect do |f| if dataset[f].is_valid? row[f] row[f] else "." end end fp.puts out.join("\t") end fp.puts "End Rectangular" when :covariance fp.puts " CMatrix Full" cm=Statsample::Bivariate.covariance_matrix(dataset) d=(0...(cm.row_size)).collect {|row| (0...(cm.column_size)).collect{|col| cm[row,col].nil? ? "." : sprintf("%0.3f", cm[row,col]) }.join(" ") }.join("\n") fp.puts d end end end