Sha256: d53d4a69c39a88baef9ec2763a19d263a327eaa2c3ab25de84f8dba0c349185a

Contents?: true

Size: 1.21 KB

Versions: 13

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

require "spout/helpers/array_statistics"
require "spout/helpers/json_loader"

module Spout
  module Models
    class OutlierResult
      attr_reader :csv_files, :method, :major_outliers, :minor_outliers,
                  :outliers, :weight, :units, :display_name, :median,
                  :variable_type

      def initialize(subjects, method, csv_files)
        @values = subjects.collect(&method.to_sym)
        @csv_files = csv_files
        @method = method
        calculate_outliers!
        @weight = \
          if @major_outliers.count > 0
            0
          elsif @minor_outliers.count > 0
            1
          else
            2
          end
        variable = Spout::Helpers::JsonLoader::get_variable(method)
        @units = (variable.is_a?(Hash) ? variable["units"] : nil)
        @display_name = (variable.is_a?(Hash) ? variable["display_name"] : nil)
        @variable_type = (variable.is_a?(Hash) ? variable["type"] : nil)
        @median = @values.median
      end

      def calculate_outliers!
        @major_outliers = @values.major_outliers.uniq
        @minor_outliers = @values.minor_outliers.uniq
        @outliers = @values.outliers.uniq
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spout-1.0.0 lib/spout/models/outlier_result.rb
spout-1.0.0.beta3 lib/spout/models/outlier_result.rb
spout-1.0.0.beta2 lib/spout/models/outlier_result.rb
spout-1.0.0.beta1 lib/spout/models/outlier_result.rb
spout-0.14.1 lib/spout/models/outlier_result.rb
spout-0.14.0 lib/spout/models/outlier_result.rb
spout-0.14.0.rc lib/spout/models/outlier_result.rb
spout-0.14.0.beta3 lib/spout/models/outlier_result.rb
spout-0.14.0.beta2 lib/spout/models/outlier_result.rb
spout-0.14.0.beta1 lib/spout/models/outlier_result.rb
spout-0.13.0 lib/spout/models/outlier_result.rb
spout-0.13.0.beta2 lib/spout/models/outlier_result.rb
spout-0.13.0.beta1 lib/spout/models/outlier_result.rb