从Rcpp函数中并行调用用户定义的R函数可以通过以下步骤实现:
install.packages("Rcpp")
install.packages("parallel")
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
void parallelCall(Function userFunc, int numThreads) {
// 创建一个并行计算的线程池
RcppParallel::parallelFor(0, numThreads, [&](int i) {
// 在每个线程中调用用户定义的R函数
userFunc();
});
}
sourceCpp("path/to/cpp/file.cpp")
parallelCall(userFunc, numThreads)
在上述示例中,userFunc是用户定义的R函数,numThreads是要使用的线程数。
领取专属 10元无门槛券
手把手带您无忧上云