summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-06-15 13:12:31 +0200
committermr <mr@mrautenberg.de>2011-06-15 13:12:31 +0200
commit59e1a2406354ce8a7e2b1a78f03d6ecaf6dbb297 (patch)
treead5ad32312e4132976b30a3985a8f62135fe3463
parent6c43e8e019ca33b2b9fcad257d284b80b0b1fc57 (diff)
hotfix close R
-rwxr-xr-xreport/report_content.rb3
-rw-r--r--report/statistical_test.rb19
2 files changed, 17 insertions, 5 deletions
diff --git a/report/report_content.rb b/report/report_content.rb
index ca04f25..3e3c3d4 100755
--- a/report/report_content.rb
+++ b/report/report_content.rb
@@ -43,7 +43,8 @@ class Reports::ReportContent
section_test = @xml_report.add_section(@current_section, section_title)
@xml_report.add_paragraph(section_test, section_text) if section_text
- @xml_report.add_table(section_test, test_attribute.to_s+", significance-level: "+level.to_s, table, true, true)
+ @xml_report.add_table(section_test, test_attribute.to_s+", significance-level: "+level.to_s, table, true, true)
+ Reports::ReportStatisticalTest.quit_r
end
def add_predictions( validation_set,
diff --git a/report/statistical_test.rb b/report/statistical_test.rb
index c37827e..5e5ea3a 100644
--- a/report/statistical_test.rb
+++ b/report/statistical_test.rb
@@ -1,29 +1,35 @@
#require "rubygems"
#require "rinruby"
-#R.quit
module LIB
class StatisticalTest
- @@r = RinRuby.new(true,false)
-
# -1 -> array1 < array2
# 0 -> not difference
# 1 -> array2 > array1
#
def self.pairedTTest(array1, array2, significance_level=0.95)
+
+ @@r = RinRuby.new(true,false) unless defined?(@@r) and @@r
@@r.assign "v1",array1
@@r.assign "v2",array2
@@r.eval "ttest = t.test(v1,v2,paired=T)"
t = @@r.pull "ttest$statistic"
p = @@r.pull "ttest$p.value"
- #@@r.quit
if (1-significance_level > p)
t
else
0
end
end
+
+ def self.quit_r
+ begin
+ @@r.quit
+ @@r = nil
+ rescue
+ end
+ end
end
end
@@ -68,6 +74,11 @@ module Reports
LOGGER.debug "paired-t-testing "+attribute.to_s+" "+array1.inspect+" vs "+array2.inspect
LIB::StatisticalTest.pairedTTest(array1, array2, significance_level)
end
+
+ def self.quit_r
+ LIB::StatisticalTest.quit_r
+ end
+
end
end