我想知道是否有一种方法可以Rcpp
使用 inline
主函数中的包来创建函数。这是我想做的一个例子:
library(inline)
library(Rcpp)
a = 1:10
cpp.fun = cxxfunction(signature(data1="numeric"),
plugin="Rcpp",
body="
int fun1( int a1)
{int b1 = a1;
b1 = b1*b1;
return(b1);
}
NumericVector fun_data = data1;
int n = data1.size();
for(i=0;i<n;i++){
fun_data[i] = fun1(fun_data[i]);
}
return(fun_data);
")
这应该导致:
> cpp.fun(a)
[1] 1 4 9 16 25 36 49 64 81 100
但是我知道编译器不会接受在 main 方法中创建您自己的函数。我将如何创建和调用另一个Rcpp
函数inline
而不必将其传递给 R?