箱ヒゲ図

箱ヒゲ図は変数ごとまたは群ごとに作成する。
フォーマットは boxplot(x, data=), where x
xには定義式、dataにはデータフレームを付置する。たとえば、x= y~groupと書くとgroupごとに区切ったyの箱ヒゲ図が作成できる。
varwidth=TRUEとすると箱の幅がサンプルサイズの平方根に比例する。horizontal=TRUEとすると軸の向きが変わる。

箱の中央の線は中央値、上辺は第3四分位数、下辺は第1四分位数。
上下の線の先端の値は、それぞれ四分位数プラスマイナス1.5*(第3四分位数-第1四分位数) 。
上よりも大きい値が外れ値としてポイントで表示される。

# macarsデータセット、cylごとのmpgの箱ヒゲ図
boxplot(mpg~cyl,data=mtcars, main="Car Milage Data",
   xlab="Number of Cylinders", ylab="Miles Per Gallon")

simple boxplot click to view

# ノッチつきの箱ヒゲ図。2要因のクロス
boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE,   col=(c("gold","darkgreen")),   main="Tooth Growth", xlab="Suppliment and Dose")

colored boxplot click to view

ノッチの位置の違いで中央値の差を表現できる (Chambers et al., 1983, p. 62).

色については色見本 参照。


その他のオプション

sfsmisc パッケージのboxplot.matrix( ) 関数:行列の行ごと、列ごとの箱ヒゲ図
gplots パッケージのboxplot.n( ) 関数:サンプルサイズの注釈
Rlab パッケージのbplot( ) 関数:箱の位置やラベルを操作


バイオリンプロット

バイオリンプロットはカーネル密度プロットと箱ヒゲ図を組み合わせたもの。vioplot パッケージのvioplot( ) 関数を使う。

library(vioplot)
x1 <- mtcars$mpg[mtcars$cyl==4]
x2 <- mtcars$mpg[mtcars$cyl==6]
x3 <- mtcars$mpg[mtcars$cyl==8]
vioplot(x1, x2, x3, names=c("4 cyl", "6 cyl", "8 cyl"),    col="gold")
title("Violin Plots of Miles Per Gallon")

violin plots click to view

バッグプロット:2次元の箱ヒゲ図

aplpack パッケージのbagplot(x, y) 関数は2変量の箱ヒゲ図を作成できる。バッグには全てのポイントの50%がふくまれる。2変量中央値は概算。壁 (fence) でポイントを区切る。外れ値も描画 (なんのこっちゃ) 。

library(aplpack)
attach(mtcars)
bagplot(wt,mpg, xlab="Car Weight", ylab="Miles Per Gallon",  main="Bagplot Example")

bagplot click to view