diff options
author | mr <mr@mrautenberg.de> | 2011-04-06 10:08:35 +0200 |
---|---|---|
committer | mr <mr@mrautenberg.de> | 2011-04-06 10:08:35 +0200 |
commit | 1f8583e62064113805de339271a9ebfcced6d322 (patch) | |
tree | 462a077736262cea58af41d344c8a2b4c15e2996 /lib/dataset.rb | |
parent | a12f491fc42b058168fb43b32e8769694e821658 (diff) | |
parent | 7749e5dae00e0ef4a28ba9dd39182f6a5905a6bf (diff) |
Merge branch 'development' of github.com:opentox/opentox-ruby into development
Diffstat (limited to 'lib/dataset.rb')
-rw-r--r-- | lib/dataset.rb | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb index c61d86f..93fce18 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -163,24 +163,33 @@ module OpenTox @features end + def feature_classes(feature) + if Feature.find(feature).feature_type == "classification" + classes = [] + @data_entries.each do |c,e| + e[feature].each { |v| classes << v.to_s } + end + classes.uniq.sort + else + nil + end + end + +=begin # Detect feature type(s) in the dataset # @return [String] `classification", "regression", "mixed" or unknown` def feature_type(subjectid=nil) load_features(subjectid) - feature_types = @features.collect{|f,metadata| metadata[OT.isA]}.uniq - if feature_types.size > 1 - "mixed" + feature_types = @features.collect{|f,metadata| metadata[RDF.type]}.flatten.uniq + if feature_types.include?(OT.NominalFeature) + "classification" + elsif feature_types.include?(OT.NumericFeature) + "regression" else - case feature_types.first - when /NominalFeature/ - "classification" - when /NumericFeature/ - "regression" - else - "unknown" - end + "unknown" end end +=end # Get Spreadsheet representation # @return [Spreadsheet::Workbook] Workbook which can be written with the spreadsheet gem (data_entries only, metadata will will be discarded)) |