2.8. Średnia, mediana i moda

Problem

Mając tablicę liczb, należy obliczyć ich średnią, medianę i modę.

Rozwiązanie

Najbardziej bodaj znaną miarą statystyczną zbioru liczb jest ich średnia arytmetyczna (arithmetic mean), czyli iloraz sumy elementów przez ich ilość:

def mean(array)
  array.inject(0) { |sum, x| sum += x } / array.size.to_f
end

mean([1,2,3,4])                                  # => 2.5
mean([100,100,100,100.1])                        # => 100.025
mean([-100, 100])                                # => 0.0
mean([3,3,3,3])                                  # => 3.0

Medianą nazywamy element środkowy co do wartości — liczba elementów nie większych od niego jest taka sama jak liczba elementów od niego nie mniejszych. W tablicy posortowanej (rosnąco lub malejąco) jest to element środkowy. Oczywiście element o tej własności istnieje tylko wtedy, gdy ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.