C和R之间的相互作用

时间:2012-11-16 02:27:59

标签: r

我有一些天真的问题要问:

1)当我想在R中调用C时,我必须编写一些C代码。但有时我必须自己调用一个用R编写的函数,我可以在C函数中调用该函数吗?

2)如果1)是可行的,那么如果我在循环中重复使用一个写入R的函数1000次,那么通过使用C来调用这个函数来进行循环会加速吗?

1 个答案:

答案 0 :(得分:5)

提出问题。快速拍摄:

  1. 是的,你可以。对于R提供的基于C的API来说,它(可能很多东西)可能有点乏味 - 但是(至少在我们看来)我们通过Rcpp

  2. 这是关键点。如果R代码是瓶颈,当你从C或C ++中调用它时,它仍然是瓶颈,因为调用它无关紧要。重要的是它的相对速度。

  3. rcpp-devel列表(链接在Rcpp page上)有很多相关的讨论;你也可以在[rcpp]标签下找到很多。