我对如何使用 Rcpp 包感到困惑。在保存以下 .cpp 代码后,使用 newRcppVectorExample 的 R 函数的 R 代码是什么,例如 example.cpp?代码来自http://dirk.eddelbuettel.com/code/rcpp.examples.html。
我必须创建一个包吗?我可以直接使用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
}