基本形
ヒストグラムは、ベクトルでデータと階級を与えて表示させる。
1 2 |
data <- c(42,68,57,48,75,81,65,93,51,66,79,69,63,80,53) hist(data) |
オプション
階級値の指定と度数/頻度の選択
- breaks属性に指定したベクトルで階級値を指定
- ylim属性に指定したベクトルで縦軸の範囲を指定
- prob=TRUEを指定することで縦軸を度数から頻度に変更
1 2 3 4 |
data <- c(42,68,57,48,75,81,65,93,51,66,79,69,63,80,53) ranks <- seq(40,100,15) density <- c(0, 0.03) hist(data, breaks=ranks, ylim=density, prob=TRUE) |
ラベルや色の指定
- main属性とxlab属性に文字列を指定して、表題と横軸のラベルを設定
- col属性でヒストグラムの色指定が可能
1 2 |
data <- c(42,68,57,48,75,81,65,93,51,66,79,69,63,80,53) hist(data, main="Data", xlab="Range", col="#008888") |
複数グラフ
横に並べる
1 2 3 4 5 6 7 8 |
data1 <- c(42,68,57,48,75,81,65,93,51) data2 <- c(66,79,69,63,80,53) par(mfrow=c(1,2)) ranks <- seq(40,100,15) hist(data1, breaks=ranks) hist(data2, breaks=ranks) |
縦に並べる
1 2 3 4 5 6 7 8 |
data1 <- c(42,68,57,48,75,81,65,93,51) data2 <- c(66,79,69,63,80,53) par(mfrow=c(2,1)) ranks <- seq(40,100,15) hist(data1, breaks=ranks) hist(data2, breaks=ranks) |
関数曲線との重ね合わせ
ヒストグラムの定義域の数値をそのまま使い、関数を渡して描画させることができる。
1 2 3 4 |
data <- runif(100) hist(data, freq=FALSE) curve(x*2, add=TRUE, col="blue", lwd=2) curve(-log(x), add=TRUE, col="red", lwd=3) |
要点は以下の通り
hist()
関数でfreq=FALSE
を指定curve()
関数の第一引数で描画したい関数を指定(独立変数をx
とする)curve()
関数でadd=TRUE
を指定
これを利用して、ヒストグラムに確率密度関数を重ねて描画することができる。