我一直在尝试从双指数(拉普拉斯)分布中生成随机数。我现在可以再写代码了。任何帮助,将不胜感激。下面的代码是我写的。
rlaplace = function(u,a,b){
u = c(runif(ns))
for(i in 1:ns){
if(u[i] <= 0.5){
X = a+b*log(2*u)
} else{
X = a-b*log(2*(1-u))
}
}
X
}
z1 = rlaplace(u,a,b)
Run Code Online (Sandbox Code Playgroud)
从概率分布CRAN任务视图,有一些已经实现了拉普拉斯分布,特别是几个包颇和Runuran。
因此,您应该能够安装distr,例如,并执行以下操作:
library(distr)
D <- DExp(rate = 1)
r(D)(1)
Run Code Online (Sandbox Code Playgroud)
来自DExp-class帮助页面示例的代码。