Class: StatisticalMethods::SummaryStatistic::Location::Average
- Inherits:
-
Object
- Object
- StatisticalMethods::SummaryStatistic::Location::Average
- Defined in:
- lib/statistical_methods/summary_statistic/location/average.rb
Instance Method Summary collapse
- #arithmetic_mean ⇒ Object
- #geometric_mean ⇒ Object
- #harmonic_mean ⇒ Object
-
#initialize(array) ⇒ Average
constructor
A new instance of Average.
- #power_mean(exponent) ⇒ Object
- #quadratic_mean ⇒ Object
Constructor Details
#initialize(array) ⇒ Average
Returns a new instance of Average.
5 6 7 8 9 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 5 def initialize(array) @array = array @number = @array.size.to_f @empty = @number < 1 end |
Instance Method Details
#arithmetic_mean ⇒ Object
12 13 14 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 12 def arithmetic_mean process { @array.addition / @number } end |
#geometric_mean ⇒ Object
17 18 19 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 17 def geometric_mean process { @array.multiplication**(1.0 / @number) } end |
#harmonic_mean ⇒ Object
22 23 24 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 22 def harmonic_mean process { @number / @array.harmonic.addition } unless include_zero? end |
#power_mean(exponent) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 32 def power_mean(exponent) process do return exception(exponent) if exceptions.include? exponent (@array.power(exponent).addition / @number)**(1.0 / exponent) end end |
#quadratic_mean ⇒ Object
27 28 29 |
# File 'lib/statistical_methods/summary_statistic/location/average.rb', line 27 def quadratic_mean process { Math.sqrt(@array.power(2).addition / @number) } end |