Chamar uma função do c ++ via ambiente Rcpp
Estou pensando em chamar uma função R do c ++ via ambiente, mas recebi um erro, aqui está o que fiz
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector call(NumericVector x){
Environment env = Environment::global_env();
Function f = env["fivenum"];
NumericVector res = f(x);
return res;
}
Tipocall(x)
, é isso que eu tenho,
Error: cannot convert to function
Eu sei que posso fazer certo de outra maneira,
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector callFunction(NumericVector x, Function f) {
NumericVector res = f(x);
return res;
}
e tipo
callFunction(x,fivenum)
Mas ainda me pergunto por que o primeiro método falhou.