R で、boxplot のヒゲの位置を計算する

R で、データの分布を描画する方法のひとつであるところのテューキー先生の boxplot() について、ヒゲの位置を計算する方法です。

boxplot の上下に、ヒゲが書かれます。ヒゲが、最小値、または、最大値なら理解しやすいのです。ところが、場合には、ハズレ値が、ヒゲの外側に丸く描画されることがあります。このいわゆる、ハズレていない範囲を計算してみたくなることがありますよね。

では、ハズレ値がある場合に、ヒゲの位置はどうなっているのでしょうか。Wikipedia を見てみましょう。

ヒゲの上端: Q3/4 +1.5 IQR
ヒゲの下端: Q1/4-1.5 IQR

ここで、Q1/4 は、第1四分位点、 Q3/4 は、第2四分位点で、
IQR =Q3/4 - Q1/4
とありますね。IQR は、boxplot の図では、箱の長さに相当します。

R には、数値ベクトル x の基本統計量を計算する関数として、以下のようなものがあります。

第1四分位点: quantile(x, 0.25)
第4四分位点: quantile(x, 0.75)
4 分位偏差 (箱の長さ): IQR(x)
という方法があります。

したがって、
ヒゲの上端:

quantile(x, 0.75) + 1.5*IQR(x)

ヒゲの下端:

quantile(x, 0.25) - 1.5*IQR(x)
というわけです。
B! LINE