使用 r:如何仅使用 runif 函数生成速率为 1 的指数分布

Using r : How to generate exponential dist with rate 1 using just runif function

使用 R,我将如何通过仅生成均匀分布的随机变量(r 中的 runif 函数)来生成速率为 1 的指数分布随机变量。

发现于https://stephens999.github.io/fiveMinuteStats/inverse_transform_sampling.html

# inverse transfrom sampling
num.samples <-  1000
U           <-  runif(num.samples)
X           <- -log(1-U)/2

# plot
hist(X, freq=F, xlab='X', main='Generating Exponential R.V.')
curve(dexp(x, rate=2) , 0, 3, lwd=2, xlab = "", ylab = "", add = T)