R 使い方 ボックスプロット(box plot) グラフの描き方
バイオインフォ道場、くまぞうです。
データを理解する方法の1つに「グラフ」があります。詳細なデータをまとめた表に比べると「詳細さ」は劣りますが、データの全体像を理解しやすくなります。そして、目的に応じたグラフを使うことが大事です。
Rを使って、色んなグラフを描画してみましょう。今回は、「ボックスプロット(box plot)」です。
ボックスプロット
特長
ボックスプロットは、データの要約を表します。データのばらつきを理解するのに有用です。最小値・第1四分位数(箱下端)・中央値(中央太線)・第3四分位数(箱上端)・最大値、および外れ値を表します。ボックスから両側に伸びる線は、箱の高さの1.5倍を超えない範囲までで最大・最小を表します。それより外側は、外れ値として「○」で示されます。
グラフの描き方
組み込みデータセットの「InsectSpraysiris」を使用します。Rでグラフを描くときは、boxplotを使います。尚、ばらつきが大きいので、部分的なデータを用いてboxplotを描画します。
> InsectSprays > str(InsectSprays) 'data.frame': 72 obs. of 2 variables: $ count: num 10 7 20 14 14 12 10 23 17 20 ... $ spray: Factor w/ 6 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 ... > tapply(InsectSprays$count, InsectSprays$spray, summary) $A Min. 1st Qu. Median Mean 3rd Qu. Max. 7.00 11.50 14.00 14.50 17.75 23.00 $B Min. 1st Qu. Median Mean 3rd Qu. Max. 7.00 12.50 16.50 15.33 17.50 21.00 $C Min. 1st Qu. Median Mean 3rd Qu. Max. 0.000 1.000 1.500 2.083 3.000 7.000 $D Min. 1st Qu. Median Mean 3rd Qu. Max. 2.000 3.750 5.000 4.917 5.000 12.000 $E Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 2.75 3.00 3.50 5.00 6.00 $F Min. 1st Qu. Median Mean 3rd Qu. Max. 9.00 12.50 15.00 16.67 22.50 26.00 > png("boxplot1.png") > boxplot(count ~ spray, data=InsectSprays) > dev.off() > png("boxplot2.png") > sub <- subset(InsectSprays, spray %in% c("A", "B", "F")) > sub$spray <- sub$spray[,drop=T] > boxplot(count ~ spray, data=sub) > dev.off()
グラフの例
boxplot1
boxplot2
グラフ描画について
組込みデータ「InsectSprays」をグラフ表示しました。組込みデータInsectSpraysについて、tapplyで水準(A〜F)毎のsummaryを表示しました。更にboxplot1で全体を表示して、データのバラツキが大きいことがわかりました。従って、subsetでデータを水準A・B・Fに絞り込み、boxplot2を表示しました。