R を使ったヒストグラムの作り方

UB3/informatics/r/r_histogram

このページの最終更新日: 2024/03/01

  1. 基本: hist を使う方法
  2. R でヒストグラムの Y 軸を対数軸にする

広告

基本: hist を使う方法

まず D という 正規分布 するデータを用意。hist 関数でヒストグラムを描画。これは極めてシンプル。

> D=rnorm(n=10000, m=0, sd=1)
> hist(D)

Rで作った正規分布のヒストグラム

細かいオプションは下の表に追加していく予定。

breaks

ヒストグラムの幅を変えたいときは、breaks で指定する。

hist(A, breaks=seq(0, 5, 0.1)) のように書く。0 と 5 は X 軸の最小値と最大値を示し、0.1 は bin の幅を指定。

R でヒストグラムの Y 軸を対数軸にする

Ref. 1 のページに従う。方法はこれだけでなく複数ある。


hist.data = hist(D, plot=F)
hist.data$counts = log10(hist.data$counts)
plot(hist.data, ylab='log10(Frequency)')


完全に理解したわけではないが、まず 1 行目でヒストグラムをプロットせずに、hist.data というオブジェクトに格納する。hist.data は list 型のオブジェクトである。R オブジェクトのデータ型一覧 のページにあるように、list とはベクトル、行列、配列などの異なる構造のデータを集めた「何でもあり」のオブジェクトである。

hist.data の中身を見てみると、次のようになっている。breaks, counts, density などのデータが格納されている。

R histの中身

2 行目では、この counts のデータを log10 にし、同じところに上書き。3 行目でこれをプロット。縦軸が対数になっているのがわかる。


広告

References

  1. Make y-axis logarithmic in histogram using R. Link: Last access 2020/04/08.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。