Sha256: 2bfe7795b41b50fd39d6f8228ab4fcc5596e1e670a1367f6f8fae5b8a25a718b

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

module PubliSci
		module Reader
		class Dataframe
      include PubliSci::Dataset::DataCube
			include PubliSci::Reader::Output

			# def initialize(var)
			# 	@var = var
			# end

			def generate_n3(rexp, var, options={})
				@rexp = rexp
        options[:type] ||= :string
        @options = options
				output(generate(measures, dimensions, codes, observation_data, observation_labels, var, options), options)
			end

			def dimensions
				if @options[:dimensions]
					@options[:dimensions]
				elsif @options[:row_label]
					[@options[:row_label]]
				else
					["refRow"]
				end
			end

			def codes
				if @options[:codes]
					@options[:codes]
				elsif @options[:row_label]
					[@options[:row_label]]
				else
					["refRow"]
				end
			end

			def measures
				if @options[:dimensions]
					if @options[:measures]
						@options[:measures] - @options[:dimensions]
					else
						@rexp.payload.names - @options[:dimensions]
					end
				else
					@options[:measures] || @rexp.payload.names
				end
			end

			def observation_labels
				row_names = @rexp.attr.payload["row.names"].to_ruby
	      row_names = (1..@rexp.payload.first.to_ruby.size).to_a unless row_names.first
	      row_names
			end

			def observation_data

				data = {}
				@rexp.payload.names.map{|name|
					data[name] = @rexp.payload[name].to_ruby
				}
				data[@options[:row_label] || "refRow"] = observation_labels()
				data
			end
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bio-publisci-0.0.7 lib/bio-publisci/readers/dataframe.rb