我正在试验Rcpp&内联包,以加快我的计算.. 我想知道如何使C ++ CODE(不是c ++函数)工作 有这些包吗?
这是我尝试的一个例子,它包括构建一个名为'tableau'的动态数组并显示结果。我都试过'cppFunction'和'cxxfunction'但没有成功...... 有人能给我一个暗示吗?
require(inline);require(Rcpp)
src='vector < vector < int > > tableau (
{
{1,2,3,42},
{0,2,3},
{11,12}
}
);
return tableau;
'
cppFunction(src)
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput, :
Error 1 occurred building shared library.
In addition: Warning message:
No function found for Rcpp::export attribute at file7bc1b0f5993.cpp:5
答案 0 :(得分:3)
R
不知道如何处理<vector <vector <int>>
。
要返回列表,您必须使用类型List
和NumericVector
:
src = 'List tableau() {
NumericVector v1 = NumericVector::create(1,2,3,42);
NumericVector v2 = NumericVector::create(0,2,3);
NumericVector v3 = NumericVector::create(11,12);
return List::create(v1, v2, v3);
}'
createTableau <- cppFunction(src)
createTableau()
## [[1]]
## [1] 1 2 3 42
##
## [[2]]
## [1] 0 2 3
##
## [[3]]
## [1] 11 12
您应该至少阅读一些文档。这是一个很好的起点:Rcpp Tutorial