【发布时间】:2013-03-16 23:34:08
【问题描述】:
我编写了一个 Rcpp 函数,该函数从总体中返回样本,为了测试估计方法,我想运行它数千或数百万次。似乎调用 Rcpp 需要一些开销,而像 replicate(100,myFunction()) 这样的东西所花费的时间比我预期的要长得多。
最好的方法是什么? rep,*apply,replicate,将循环本身放入 C++ 中?
【问题讨论】:
-
我通常将 sapply 用于类似的事情,但复制只是重新包装的 sapply,所以应该需要大约相同的时间。你打电话的
myFunction()是什么?是否可以对其进行调整以缩短运行时间? -
我认为不容易。我的函数是对采样包中的 UPtille 函数的重新实现,它使用 Tille 的方法进行采样。它迭代 N-k 次以产生 k 个样本,在我的例子中 N=4600 和 k=40。
-
我会在 C++ 中执行
for循环
标签: r simulation rcpp sampling