箱ヒゲ図
箱ヒゲ図は変数ごとまたは群ごとに作成する。
フォーマットは 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")
# ノッチつきの箱ヒゲ図。2要因のクロス
boxplot(len~supp*dose, data=ToothGrowth, notch=TRUE,
col=(c("gold","darkgreen")),
main="Tooth Growth", xlab="Suppliment and Dose")
ノッチの位置の違いで中央値の差を表現できる (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")
バッグプロット: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")