[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数组计算四分位数均值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)