ある平均値と標準偏差を持つ2つの正規分布の混合分布の乱数を返す関数を定義する
gen <-function(m1=0, sd1=1, m2=1, sd2=1, p=0.5) # p は,1番目の分布に従うサンプルの割合
{
return(ifelse(runif(1) < p, rnorm(1, m1, sd1), rnorm(1, m2, sd2)))
gen <-function(m1=0, sd1=1, m2=1, sd2=1, p=0.5) # p は,1番目の分布に従うサンプルの割合
{
return(ifelse(runif(1) < p, rnorm(1, m1, sd1), rnorm(1, m2, sd2)))
}
n <- 100000
x <- numeric(n)
for (i in 1:n) x[i] <- gen(m2=3, sd2=0.5, p=0.9)
hist(x,breaks=50, freq=FALSE, main="")
※コメント投稿者のブログIDはブログ作成者のみに通知されます