diff --git a/server/lib/analysis_library/r/doe.rb b/server/lib/analysis_library/r/doe.rb index a9e06d448..c2c64681b 100644 --- a/server/lib/analysis_library/r/doe.rb +++ b/server/lib/analysis_library/r/doe.rb @@ -34,6 +34,12 @@ # ******************************************************************************* module AnalysisLibrary::R + class String + def is_number? string + true if Float(string) rescue false + end + end + class Doe def initialize(r_session) @r = r_session @@ -250,7 +256,11 @@ def full_factorial(selected_variables, number_of_samples) logger.info("samples_temp is #{samples_temp}") selected_variables.each_with_index do |var, idx| - samples[var.id.to_s] = samples_temp[idx] + if samples_temp[idx][0].is_number? + samples[var.id.to_s] = samples_temp[idx].to_f + else + samples[var.id.to_s] = samples_temp[idx] + end end logger.info("samples is #{samples}")