R如何从中断的上下颠倒的钟形曲线中采样

问题描述 投票:0回答:1

我问了一个相关的question,在此之前,它已经成功收到了答案。现在,我想从倒置的钟形曲线中采样值,但要排除掉一个位于其中间的值范围,如下图所示:enter image description here

我目前正在使用此代码:

min <- 1
max <- 20
q <- min + (max-min)*rbeta(10000, 0.5, 0.5)

我如何调整它以实现所需的输出?

r random sampling
1个回答
0
投票

假设您要从分布中获取10,000个样本,但样本中不要包含5到15之间的任何数字。为什么不做:

q <- min + (max-min)*rbeta(50000, 0.5, 0.5); 
q <- q[!(q > 5 & q < 15)][1:10000]

哪个给您这个:

hist(q)

enter image description here

但大小仍然正确:

length(q)
#> [1] 10000
© www.soinside.com 2019 - 2024. All rights reserved.