我在Ruby中创建一个boxplot生成器,我需要计算一些东西.
假设我有这个数组:
arr = [1, 5, 7, 2, 53, 65, 24]
Run Code Online (Sandbox Code Playgroud)
如何从上面的数组中找到最低值(1),最高值(65),总数(157),平均值(22.43)和中位数(7)?
谢谢
sep*_*p2k 62
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
Run Code Online (Sandbox Code Playgroud)