四分位数
解説/アルゴリズム
データを昇順にソートした後、4 等分する位置、つまり 25%、50%、75%の位置にある値を四分位数
と呼ぶ。
特に 25%の位置の値を第1四分位数(Q1)
、50%の位置の値を第2四分位数(Q2)
、75%の位置の値を第3四分位数(Q3)
と呼ぶ。
function median(data: number[], start: number, end: number): number {
const i = (start + end) / 2;
const l = Math.floor(i);
const u = Math.ceil(i);
const value = (data[l] + data[u]) / 2;
return value;
}
function calcQuartile(data: number[]) {
data.sort((a, b) => a - b);
const last = data.length - 1;
const i = last / 2;
let l = Math.floor(i);
let u = Math.ceil(i);
if (l === u) {
l--;
u++;
}
const q1 = median(data, 0, l);
const q2 = median(data, l, u);
const q3 = median(data, u, last);
return { q1, q2, q3 };
}
四分位範囲
四分位数の Q3 から Q1 を引いた値を四分位範囲
と呼ぶ。
const range = q3 - q1;
四分位偏差
四分位範囲の半分の値を四分位偏差
と呼ぶ。
const div = range / 2;