从Ruby数组计算四分位数均值?

从Ruby数组计算四分位数均值?,第1张

概述我有这个数组: [288.563044, 329.835918, 578.622569, 712.359026, 866.614253, 890.066321, 1049.78037, 1070.29897, 2185.443662, 2492.245562, 4398.300227, 13953.264379] 如何从中计算出interquartile mean? 维基百科链接解释得最好,但我基 我有这个数组:

[288.563044,329.835918,578.622569,712.359026,866.614253,890.066321,1049.78037,1070.29897,2185.443662,2492.245562,4398.300227,13953.264379]

如何从中计算出interquartile mean?

维基百科链接解释得最好,但我基本上需要删除底部和前25%,只留下中间50%,其中我需要平均数字.

但是假设数组项目的数量可以被4.0整除,当它不能被4整除时.

那我该怎么做呢?

解决方法 这是一个数组的部分解决方案,其中包含多个4的元素.当我弄明白时,我会把完整的元素放入.

arr = [288.563044,13953.264379].sort!length = arr.sizemean = arr.sort[(length/4)..-(length/4+1)].inject(:+)/(length/2)

我认为这是一个更好的解决方案.

def interquartile_mean(array)   arr = array.sort   length = arr.size   quart = (length/4.0).floor   fraction = 1-((length/4.0)-quart)   new_arr = arr[quart..-(quart + 1)]   (fraction*(new_arr[0]+new_arr[-1]) + new_arr[1..-2].inject(:+))/(length/2.0)end
总结

以上是内存溢出为你收集整理的从Ruby数组计算四分位数均值?全部内容,希望文章能够帮你解决从Ruby数组计算四分位数均值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1282902.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存