hist() を用いて
理論分布と比較する時には probability=T なる
オプションを付加すると各棒グラフの棒の(高さ)×(幅)が、それぞれの階級に
サンプルが落ちた相対頻度(確率)となる。
( なお、 probability=T のオプションを追加するときなどに、加えて
ylimの指定をするときは、指定する値に注意する必要がある。
大きな区間を指定するとグラフが見えないことがある。)
以下に例を示す。乱数の個数は固定して例示しているが、いろいろな個数でグラフを描画してみよ。
data <- rexp(1000,10) # 平均1/10の指数分布の場合
hist( data, probability=T ) # 確率に直した、頻度分布の作図
xx <- seq(min(data),max(data),length=1000)
# 密度関数値を調べるポイント
# 初項と末項、項数を指定している
lines( xx, dexp(xx,10) ) # 密度関数の直線の図への追加
title("指数乱数のヒストグラムへの理論確率密度関数の重ね描き")
data <- rpois(1000,3) # 平均3のポアソン分布の場合
hist( data, breaks=seq(-0.5,max(data)+0.5), probability=T )
# 確率に直した、頻度分布の作図
xx <- seq(min(data),max(data),by=1) # 密度関数値を調べるポイント
# 初項と末項、項差を指定している
lines( xx, dpois(xx,3) ) # 密度関数の直線の図への追加
title("ポアソン乱数のヒストグラムへの理論確率密度関数の重ね描き")
cdf.compare(x, distribution)なる関数で、データx の経験分布関数と、分布distributionの理論分布関数を 比較した図を作成してくれる。
例
# 平均10の指数分布の場合 cdf.compare(rexp(100,10), distribution = "exponential",rate=10) # 平均20、標準偏差5の正規分布の場合 cdf.compare(rnorm(100,20,5), distribution = "normal",mean=20,sd=5)