Я использую библиотеку Rcpp для преобразования вектора векторов, содержащих двойники в C++, в матрицу из R. Я действительно хочу назвать эту функцию и вернуть ей матрицу мне в R. Однако в обоих методах консоль prints "error: vector".Как вы преобразовываете вектор векторов, содержащих двойники в C++, в матрицу из R, используя библиотеку Rcpp?
Моего первый метод для преобразования использует функцию обертки:
// [[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;
}
Это немного расстраивает, поэтому, если кто-то может помочь, он будет очень признателен! Спасибо :)
Что означает «ЧИСЛО (res)»? Я получаю ошибки на моей консоли, связанные с этим. –
@AdiSidapara Извините, я использовал неправильный макрос. Это должно быть 'REAL()'. Макрос извлекает необработанный указатель на базовые векторные данные. – bgoldst