【发布时间】:2015-06-02 07:50:40
【问题描述】:
我正在尝试运行蒙特卡罗模拟,我想做的一部分是重复一个过程,因为关键变量变得越来越“离散”(忽略“更离散”的想法基本上没有意义)。
因此,如果 x
例如,下面是丑陋(且效率低下)的双循环的样子:
n = 1000
x <- rnorm(n)
k = 20
points <- seq(from = min(x), to = max(x), length.out = k)
for(i in 1:n){
for(j in 1:k){
if(x[i] < points[j]){
x[i] <- mean(c(points[j], points[j-1]))
break
}
}
}
我尝试了“cut”,以及“apply”/“sapply”的多种不同变体,但没有什么能满足我的需求。上面的循环工作正常,但需要永远。如果我想模拟收敛等,这可能会运行数周,具体取决于设置。
任何关于我可能是什么的帮助
【问题讨论】:
标签: r simulation