使用rcpp在c ++中编译R函数

时间:2017-05-10 21:09:01

标签: c++ r

我在C ++中有一个函数,其中包含一个函数作为输入参数: f(int x,int y,Function f)。我正在使用Rcpp使其在R中可用,并将R函数作为参数传递。

将R函数作为参数传递会使其变慢,尤其是在for循环中(因为它必须在每次迭代中调用R函数)。我想知道是否可以编译' R函数曾经在c ++函数内部,但在实际的for循环之前?然后,它不需要在for循环的每次迭代中在c ++之外进行评估。

我正在考虑将函数定义为R中的字符串,然后将其编译为c ++中的函数。那么这将是真正的c ++ - 代码?这样,如果我创建了一个闪亮的应用程序,用户可以将自己的函数定义编写为字符串,则可以将rcpp传递给c ++,并且for循环不会减慢。

或者,是否有人建议如何解决此问题?

为了方便起见,我的目标是在c ++中使用for循环来获取速度,它可以使用R中定义的函数。

0 个答案:

没有答案