ヒストグラム ~Rプログラミング~【Statistics with “R”- histogram】
コード | 意味 |
hist(x) | xのヒストグラムを描く |
ヒストグラムとは,縦軸に度数横軸に階級をとったグラフで,1次元データの分布状況を確認するために用いられる。
しっかり書くと以下のように表現できる。
大雑把に言えば,区間(階級)を区切って,区切られた区間ごとにどれだけのデータがあるかを数えて棒グラフに表したものである。
Rではhist( )関数を用いてヒストグラムを書くことが出来る。
階級の区切り方にはいろいろな方法が提案されていて,hist( )関数もそれに基づいているので,細かく設定しなくても自動的にヒストグラムが描ける。
x <- c(4,1,4,6,3,4,2,6,5,5,5,7,8,6,6,3,5,4,3,7,6) hist(x)
hist関数の詳しい使い方
hist( )関数は描画のカスタマイズが可能だが,よく使うものに以下のようなパラメタがある。
hist(x,main, xlab, ylab, breaks, freq, col, border)
x | ヒストグラムを描きたいベクトル |
main | ヒストグラムのタイトル(文字列) |
xlab | 横軸のラベル名(文字列) |
ylab | 縦軸のラベル名(文字列) |
breaks | 階級の区切り(ベクトル) |
freq | 縦軸を度数(=T)にするのか割合(=F)にするのかの選択 |
col | ヒストグラムの塗りつぶし色 |
border | ヒストグラムの境界線の色 |
xlim | ヒストグラムの横軸表示範囲 |
ylim | ヒストグラムの縦軸表示範囲 |
たとえば
hist(x,main="タイトル", xlab="x軸", ylab="y軸", breaks=c(1,2,3,4,5,6,7,8), freq=F, col="green", border="blue")を実行すると以下のようなヒストグラムを得ることが出来る。
ヒストグラムの重ね合わせ
hist( )を使ってヒストグラムを描いた直後にpar(new=T)を実行すると,すでに描いたヒストグラムの上から,重ね合わせて描画することが出来る。
重ね合わせをするときには,横軸や縦軸,タイトルがずれないように,main,xlab,ylab,xlim,ylimなどを調整する必要がある。
x <- c(4,1,4,6,3,4,2,6,5,5,5,7,8,6,6,3,5,4,3,7,6) y <- c(4,4,6,3,4,6,5,6,5,5,7,8,6,6,3,5,4,7,6) hist(x) hist(x,main="", xlab="", ylab="", breaks=c(1,2,3,4,5,6,7,8), freq=F, col=rgb(1,0,0,alpha=0.2), border="blue", ylim=c(0,0.4),xlim=c(0,10)) par(new=T) hist(y,main="タイトル", xlab="x軸", ylab="y軸", breaks=c(1,2,3,4,5,6,7,8), freq=F, col=rgb(0,1,0,alpha=0.2), border="blue", ylim=c(0,0.4),xlim=c(0,10)) legend("topright",legend=c("x","y"),col=c(rgb(1,0,0,alpha=0.2),rgb(0,1,0,alpha=0.2)),pch=16)
ここでrgb(0,1,0,alpha=0.2)という命令があるが、これは
rgb(赤の色彩強度, 緑の色彩強度, 青の色彩強度, alpha=透過率)によって色と透過率を決定する関数である。色彩強度と透過率は0から1の間で選択できる。
コードを実行すると、以下のようなヒストグラムが表示される。
ここで
legend("topright",legend=c("x","y"),col=c(rgb(1,0,0,alpha=0.2),rgb(0,1,0,alpha=0.2)),pch=16)
は図右上の凡例の表示に使われる。
legend("表示する場所",legend=変数名,col=c(変数ごとの描画色),pch=表示の仕方の番号)
というコードで凡例を表示できる。
コード | 凡例を表示する場所 |
"topright" | 右上 |
"topleft" | 左上 |
"bottomright" | 右下 |
"bottomleft" | 左下 |