Rで二項分布のグラフを書く

二項分布を計算するRの関数

二項分布って、結局”成功”の確率と言えるかも。つまり、サイコロを振って5と6が出るのを”成功”と定義する。とか、ある現象の成功をまず定義してしまう。そして、何回もトライしたとき、何回位が成功するかを考えるというモデルである。

二項分布を計算する組み込み関数は以下。参考サイトはここ

 dbinom(x, size, prob)                     # x : ベクトル, prob : 成功の確率
 pbinom(q, size, prob, lower.tail = TRUE)  # q : quantile のベクトル
 qbinom(p, size, prob, lower.tail = TRUE)  # p : 確率ベクトル
 rbinom(n, size, prob)                     # n : 観測数,  size : 試行数

とりあえずdbinom関数を使えば良いみたい・・・。例えば、成功確率が0.5で、4回試行する場合の二項分布 B(4,0.5) において、2の出る確率は

dbimon(2,4,0.5)


また、二項分布B(100,0.5)の(45 < X < 55)の確率の合計は

sum(dbinom(46:54, 100, 0.5))



二項分布のグラフをRで描く

par(ann=F)                        #軸と全体のタイトルを描かない
#plot(1:50,dbinom(1:50, 5, p=0.5),type="l",ylim=c(0,0.3),col=1) 
#par(new=T)				#上書きの指定
plot(1:50,dbinom(1:50, 10, p=0.5),type="l",ylim=c(0,0.3),col=2)
par(new=T)				#上書きの指定
plot(1:50,dbinom(1:50, 20, p=0.5),type="l",ylim=c(0,0.3),col=3)
par(new=T)				#上書きの指定
plot(1:50,dbinom(1:50, 30, p=0.5),type="l",ylim=c(0,0.3),col=4)
par(new=T)				#上書きの指定
plot(1:50,dbinom(1:50, 40, p=0.5),type="l",ylim=c(0,0.3),col=5)
par(new=T)				#上書きの指定
plot(1:50,dbinom(1:50, 50, p=0.5),type="l",ylim=c(0,0.3),col=6)
grid()

#データディレクトリの変更
setwd("D://temp")
#EPSファイルの生成
dev.copy2eps( file = "file_name.eps",family="AvantGarde")