第 3 章 基本用法

按照如下三步,即可使用你的Rcpp函数。

  1. 写(你的函数的)Rcpp代码
  2. 编译上述代码
  3. 执行函数

3.1 写Rcpp代码

下面的代码定义了一个名为rcpp_sum()的函数,来计算一个向量的元素之和。保存代码块内容至 sum.cpp文件。

sum.cpp

3.1.1 在Rcpp中定义一个函数的格式

下面的代码展示了如何定义一个Rcpp函数的基本格式。

  • #include<Rcpp.h> : 保证你能使用Rcpp包中定义的的类和函数
  • // [[Rcpp::export]]:在这行代码下定义的函数,才能(在后面的步骤中)被R获取.
  • using namespace Rcpp; : 这行代码是可选的。如果你不写,那么你需要在特定的类和函数前面加上前缀Rcpp::. (比如, Rcpp::NumericVector)

  • RETURN_TYPE FUNCTION_NAME(ARGMENT_TYPE ARGMENT){}:需要指定函数的返回值和参数的类型,以及函数名.

  • return RETURN_VALUE;return声明强制返回一个值,但是如果你不返回值(例如,RETURN_TYPEvoid型,即空),那么可以忽略return

3.2 编译代码

函数Rcpp::sourceCpp()会编译上述源代码并在R中加载。

3.3 执行函数

你可以像使用其他R函数一样,来使用加载好的Rcpp函数。