四分位数计算
工作上的需求,需要计算一下四分位数,这里就记录一下实现的代码。
四分位数介绍,详见百度百科
/**
* 四分位数计算
* @param numbers
* @param position 传值分别对应 1:1/4位计算、2:中位数计算、3:3/4位计算
* @returns {*}
*/
function getQuartile(numbers, position = 1) {
if (position > 3 || position < 1 || numbers.length < 4) return false;
const sortedNumbers = numbers.sort((a, b) => (a - b));
const middleBefore = position * (numbers.length + 1) / 4;
const remainder = position * (numbers.length + 1) % 4;
if (remainder === 0) {
return sortedNumbers[middleBefore - 1];
} else {
const startIndex = Math.floor(middleBefore) - 1;
const remainderNumber = remainder / 4;
return remainderNumber * sortedNumbers[startIndex + 1] + (1 - remainderNumber) * sortedNumbers[startIndex];
}
}
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=1124