EZR で箱ひげ図を書くにはどうしたらよいか?
色分けするにはどうしたらよいか?
EZR で箱ひげ図を書く方法
データを読み込んだ後、グラフと表から箱ひげ図メニューを選択する。
変数のほうで連続データを指定し、群別する変数の枠で群を表すカテゴリカルデータを指定する。
すると、以下のようなグラフが描ける。
箱ひげ図の箱を色で塗りつぶしたいときはどうするか?
EZRの箱ひげ図の箱に色を付ける方法
EZRの箱ひげ図のための関数は、bxp() という関数を使っている。
この bxp() という関数の記法に合わせたオプションを指定する。
オプションは boxfill= である。
2つの箱を1つの色で塗りつぶす
例えば2つの箱をグレー一色で塗りつぶしたい場合は、オプションは boxfill = “gray” とする。
先ほどの箱ひげ図を「グラフと表」メニューから描いた後、Rスクリプト窓内で以下の個所を見つける。
bxp(boxdata, ylab="Age")
ylab=”Age”は今回の例の話なので、あなたのスクリプトには違うラベルが書いてあると思う。
このカッコ内にオプションを入れる。
bxp(boxdata, ylab="Age", boxfill="gray")
そうしたら、##### 箱ひげ図 #####とある行から、いまオプションを入れた行までを選択し実行する。
つまり、以下の部分を実行する。
修正した行がわかりやすいように、ハイライトしているが、実行するのは以下に見えている範囲全部である。
なぜそこまで多くのスクリプトを再度実行するのかというと、boxdata, boxdata.outliers が計算の最後で削除されていて、変更した行だけではグラフが描けないからである。
remove(boxdata), remove(boxdata.outliers) を実行しなければ、さらに色を変えて確認したい場合は、boxfillオプションを書いた行だけを実行すると再度描画される。
グレーで塗りつぶされたグラフが描画される。
2つの箱を塗り分ける
2つの箱を2色の色で塗り分ける場合どうしたらよいだろうか。
EZRで準備されている1~8という番号がついている色を使う方法を紹介する。
1~8は、以下のような配色になっている。
左端の黒が1で、右端のグレーが8である。
「グラフと表」→「グラフの色の詳細設定」で確認できる。
この色を使って塗るのはとても簡単だ。
単純な “red”とか、”blue”とかを指定するよりも、マイルドで素敵な色合いになっていると思う。
例えば、左の箱を4番の青で、右の箱を2番の赤で、塗る場合はこのように指定する。
bxp(boxdata, ylab="Age", boxfill=c(4,2))
c() はベクトル(ここでは色を指定する数値の列)を表すときに使う。
4番の青と、2番の赤で、左から順番に塗ってくださいという指示になる。
そして、実行すると以下のグラフが描かれる。
まとめ
EZR で箱ひげ図を書く方法を紹介した。
また、EZRで描いた箱ひげ図の箱を塗りつぶすときどのようにすればよいかを紹介した。
bxp() という関数を使っているため、少し特殊な指定方法であるが、わかってしまえば簡単だ。
ぜひ、お試しあれ。
参考資料
http://plaza.umin.ac.jp/~takeshou/R/boxplot.pdf
おすすめ書籍
EZR公式マニュアル
コメント