一千萬個為什麽

搜索

從Ruby中的數組中查找最高,最低,總計,平均值和中位數

我在Ruby中創建一個boxplot生成器,我需要計算一些東西。

假設我有這個數組:

arr = [1, 5, 7, 2, 53, 65, 24]

如何從上面的數組中找到最低值(1),最高值(65),總數(157),平均值(22.43)和中位數(7)?

謝謝

最佳答案

lowest = arr.min
highest = arr.max
total = arr.inject(:+)
len = arr.length
average = total.to_f/len # to_f so we don't get an integer result
sorted = arr.sort
median = len % 2 == 1 ? sorted[len/2] : (sorted[len/2 - 1] + sorted[len/2]).to_f/2

轉載註明原文: 從Ruby中的數組中查找最高,最低,總計,平均值和中位數