4.5 Histogram, Densityplot
量的変数の場合,Histogram(ヒストグラム)・またはDensity plot(デンシティプロット)が便利である. Densityとは密度の意味で,経験的(観測データの意味)な密度関数の推定した結果を可視化できる.
また,これらは多変数の場合にも有効である.それぞれのヒストグラムを重ねて描くことで, 分布の違いを視覚的に捉えることができる.
4.5.1 データの準備
サンプルとして扱うデータを生成しておく.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.9996 7.9069 9.9540 9.9286 11.9352 18.7963
4.5.2 Histogram
ヒストグラムはhist
という関数を利用することで簡単に作成できる.breaks
という引数に正の整数をしていすることで
ビン数を指定することができる.また,rgb()
関数はrgb(red, green, blue, transparensy)
とそれぞれ0~1の数値を指定することで
色を指定することができる(transparensyは透明度の意味).border=FALSE
とすることでビンの外枠の線を透明にしている.
4.5.3 ヒストグラムを利用する際の注意点
ヒストグラムにおける縦の棒をbin(ビン)と呼び,その幅をbin幅(bin width)と呼んだりする. プロットする際には,ビン幅またはビン数を明示的に指定することを推奨する. 数や幅を変えると図からウケる印象が全く変わってしまうこともあるため,注意が必要である. 必要以上に細かくしても,必要以上に粗くしても解釈がばらついてしまう可能性がある.
ggplot
で作成する場合は以下のようにする.少しややこしいがggplot
ではcolor
でビンの外枠の色を指定し,
fill
で塗りつぶす色を指定する.
bins
でビン数を指定しており,これはplot
におけるbreaks
と同じ意味である.
ggplot(data.frame(x=x), aes(x=x)) +
geom_histogram(bins=20, fill="#404080", alpha=0.8, color="#e9ecef")
また,ggplot
ではビン幅を指定することが簡単にできる.その場合はbinwidth
という引数を利用すれば良い.
以下ではbinwidth=0.2
とし,ビン幅を0.2と指定している.
ggplot(data.frame(x=x), aes(x=x)) +
geom_histogram(binwidth=0.2, fill="#404080", alpha=0.8, color="#e9ecef")
Exercise 4.3 (16進数のカラーコードを使う) Rに限らず,プログラミングやWeb制作では16進数のカラーコード(Hex color code)を利用することがある. 例えば,下記のようなサイトには,実際の色とカラーコードを確認することができる.
さて,既に紹介した以下のヒストグラムのコードのうち,ビンを塗りつぶす色を指定するfill
という引数に任意のカラーコードを指定して
色を変えたヒストグラムを作成せよ..