【发布时间】:2016-06-21 17:28:20
【问题描述】:
我正在使用 Rcpp 库将 C++ 中包含双精度的向量向量转换为 R 中的矩阵。我本质上想调用此函数并让它在 R 中返回一个矩阵给我。但是,在这两种方法中,控制台打印“错误:向量”。
我的第一个转换方法是使用 wrap 函数:
// [[Rcpp::export]]
Rcpp::NumericMatrix returnRetrieval(string fileName){
//bm.real_psi is a globally declared vector of vectors
return Rcpp::wrap(bm.real_psi);
}
我的第二种方法是创建一个新矩阵并将其返回给 R 代码。
//also tried this and same error occured
Rcpp::NumericMatrix createMatrix(vector< vector <double> > input){
Rcpp::NumericMatrix storeContainer(input.size(), input[0].size());
for(int i = 0; i < input.size(); i++){
for(int j = 0; j <input[0].size(); j++){
storeContainer(i, j) = input[i][j];
}
}
return storeContainer;
}
这有点令人沮丧,所以如果有人能提供帮助,将不胜感激!谢谢:)
【问题讨论】: