我有一个牵强的问题Rcpp
,我倾向于使用大量对象在其中DataFrame
创建并将它们导出回。有时我必须处理我必须定义自己的 10 列,例如:xxxVector
C++
R
export [[Rcpp::export]]
List myFunction(DataFrame df){
NumericVector a = df["a"], b = df["b"], c = df["c"];
IntegerVector a2 = df["a2"], b2 = df["b2"], c2 = df["c2"];
CharacterVector a3 = df["a3"], b3 = df["b3"], c3 = df["c3"];
const int N = df.nrows();
LogicalVector out(N),out1(N);
for(unsigned int i = 0; i<N; ++i){
//here I do what I want to do
}
return(List::create(_["out"]=out, _["out1"]=out1));
}
如果声明列表很长且名称复杂,则声明需要很长时间。我不能宣布a,b,c,...
和工作,df["a"],...
但那会更长。那么我的问题是(而且很可能是异端)有没有办法自动定义这些向量列?我认为,由于我们拥有DataFrame
指向列的指针列表,因此可能可以将其自动化...