Method: Rust::Descriptive.variance
- Defined in:
- lib/rust/stats/descriptive.rb
.variance(data) ⇒ Object Also known as: var
19 20 21 22 23 24 25 |
# File 'lib/rust/stats/descriptive.rb', line 19 def variance(data) raise TypeError, "Expecting Array of numerics" if !data.is_a?(Array) || !data.all? { |e| e.is_a?(Numeric) } return Float::NAN if data.size < 2 mean = mean(data) return data.map { |v| (v - mean) ** 2 }.sum.to_f / (data.size - 1) end |