目次(まとめ)

◾️ Rを使って箱ひげ図を描いて数値の分布を可視化する


こんにちは、みっちゃんです。

今回の記事では、複数の数値が与えられた時に、その値の分布を可視化して表示する「箱ひげ図」の描き方を紹介します。

Rを使って箱ひげ図を描いて数値の分布を可視化する

ここでは、例として、以下のような数値の配列をR内で定義します。

> a <- rnorm(10)
> a
 [1] -0.3531535  0.3304794  0.1213564  0.1271229 -0.5140533 -2.1444831
 [7]  1.5733085  0.5229429  0.5392904 -1.2778767

1行目で、正規分布(norm)にしたがう乱数(random values)を "10" 個生成して、"a" に保存しています。

2行目で、"a" を出力することで、どのような数値が入っているか、確認しています(乱数なので、ここで表示している数値に一致しません)。

なお、これらの2行は、以下のように、1行で実行することも可能です。

> (a <- rnorm(10))

この数値データ "a" の分布を見るためにはさまざまな方法がありますが、ここでは、箱ひげ図を使って、分布を可視化してみます。

Rで箱ひげ図を描くためには、以下のように実行するだけです。

> boxplot(a)

複数の数値データの分布を並べて比較したい場合には、上と同じように、新しい数値配列を準備します。

> (b <- rnorm(10))
 [1] -0.17798813  0.09778498  0.90615209 -0.25369402 -1.07047305 -0.70091557
 [7]  0.07013867 -0.23255238  0.95420558  0.61970228

このデータ "b" をデータ "a" と並べて表示するためには、以下のように実行します。

> boxplot(a, b, col = c("red", "blue"))

ここで、"col" は色付けを指定するためのオプションで、1つめのデータの箱ひげ図、つまり、"a" の箱ひげ図は "red"、2つめのデータの箱ひげ図、つまり、 "b" の箱ひげ図は "blue" で描かれます。

色は、カラーコードでも指定することができるので、以下のようにさまざまな色で塗りつぶすことが可能です。

> boxplot(a, b, col = c("#deb887", "#da70d6"))

さらに、複数の箱ひげ図を描く位置を指定したい場合には、以下のように実行することができます。

> boxplot(a, b, col = c("#deb887", "#da70d6"), at=c(1,3), names=c("A", "B"))

"at" のオプションで箱ひげ図を描く位置を与えていて、"c(1, 3)" とすることで、"2" に相当する場所が空くようになります。

また、"names" は、それぞれの箱ひげ図の名前を指定するためのオプションです。