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")