我是使用R包“Rcpp”的新手。我的问题是,如果我想在另一个C ++函数中使用C ++函数作为参数,我该怎么做?例如:假设我有一个像这样的C ++函数:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
double maxllC3(const double mu){
double result;
result= R::dgamma(mu,0.1,1,0.1);
return result;
}
。我想在另一个C ++函数中使用此函数,就像我们可以在R:
中一样sumf<-function(maxllC3,mu,y){
res<-maxllC3(mu)+y
return(res)
}
。我怎么能在“Rcpp”包中做到这一点?
答案 0 :(得分:-1)
将rcpp代码放在.cpp文件中(比如ex.cpp
)。
使用Rcpp::sourceCpp('ex.cpp')
在全球环境中提供此功能
然后只需使用sumf <- function(mu, y) maxllC3(mu) + y