我正在尝试在Rcpp中动态构建一个DataFrame列表,我想知道最有效的方法是什么?
我已经读过Rcpp列表的push_back函数非常低效(每次推送都复制?)因此预分配应该必须更快,但是在我的问题中似乎没有那么快。这是我如何做的基本例子
List exampleList(someLimit);
std::vector <double> one;
std::vector <std::string> two;
for(int i = 0; i < someLimit; i++) {
//vector One and Two are dynamically filled elsewhere
exampleList[i] = DataFrame::create(_["a"] = one, _["b"] = two, _["stringsAsFactors"] = false));
one.clear();
two.clear();
}
这是预先分配的正确方法吗?有没有更快的方法来避免副本?是否有可以直接换行到DataFrame列表的STL容器?
谢谢。