我對如何使用Rcpp包感到困惑。在保存以下.cpp代碼之後,什麼是使用newRcppVectorExample的R函數的R代碼,example.cpp表示?代碼是從http://dirk.eddelbuettel.com/code/rcpp.examples.html。R代碼使用.cpp文件中的函數,基於Rcpp包
我需要創建一個包嗎?我可以直接使用example.cpp嗎?例如R CMD SHLIB example.cpp,然後使用dyn.load函數。
#include <RcppClassic.h>
#include <cmath>
RcppExport SEXP newRcppVectorExample(SEXP vector) {
BEGIN_RCPP
Rcpp::NumericVector orig(vector);
Rcpp::NumericVector vec(orig.size());
std::transform(orig.begin(), orig.end(), vec.begin(), ::sqrt);
return Rcpp::List::create(Rcpp::Named("result") = vec,
Rcpp::Named("original") = orig) ;
END_RCPP
}