【发布时间】:2018-07-13 06:23:57
【问题描述】:
我想生成一个介于 0 和 1 之间但不在 0.4 和 0.6 之间的随机数。在 R 中有没有比以下更好的方法来做到这一点?
sample(c(runif(1,0,.4), runif(1,.6,1)), 1, prob=c(.5,.5))
【问题讨论】:
-
我怀疑。这种方法有什么问题?
-
另一个建议:
x <- runif(1,0,0.8); ifelse(x < 0.8/2, x, x + 0.2) -
en.wikipedia.org/wiki/Inverse_transform_sampling你可以通过这种技术生成一个服从任何分布的随机数,(如果你可以计算cdf),相关问题:stackoverflow.com/questions/3510475/…