如何模拟双峰分布?

Ama*_*eur 22 statistics r distribution probability

我有以下代码来生成双峰分布,但是当我绘制直方图时.我没有看到2种模式.我想知道我的代码是否有问题.

mu1 <- log(1)   
mu2 <- log(10)
sig1 <- log(3)
sig2 <- log(3)
cpct <- 0.4   

bimodalDistFunc <- function (n,cpct, mu1, mu2, sig1, sig2) {
  y0 <- rlnorm(n,mean=mu1, sd = sig1)
  y1 <- rlnorm(n,mean=mu2, sd = sig2)

  flag <- rbinom(n,size=1,prob=cpct)
  y <- y0*(1 - flag) + y1*flag 
}

bimodalData <- bimodalDistFunc(n=100,cpct,mu1,mu2, sig1,sig2)
hist(log(bimodalData))
Run Code Online (Sandbox Code Playgroud)

Jul*_*ora 14

这个问题似乎只是过小n和过小之间的差异mu1mu2,服用mu1=log(1),mu2=log(50)n=10000给出了这样的:

在此输入图像描述

  • 使用超过默认数量的bin有助于例如`hist(log(bimodalData),breaks = 100)` (2认同)