/ / Použitie funkcie C ++ ako argument v inej funkcii C ++ v R balíku "Rcpp" - c ++, r, rcpp

Pomocou C funkciu ako argument inej funkcie C v obale "Rcpp" - c , r, rcpp

Som nový v použití balíka R "Rcpp". Mojou otázkou je, ak chcem použiť funkciu C ++ ako argument v inej funkcii C ++, ako to urobím? Napríklad: Predpokladajme, že mám funkciu C ++ takto:

#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;
}

, Chcem použiť túto funkciu v inej funkcii C ++, ako to môžeme urobiť v R:

sumf<-function(maxllC3,mu,y){
res<-maxllC3(mu)+y
return(res)
}

, Ako to môžem urobiť v balíčku "Rcpp"?

odpovede:

-1 pre odpoveď č. 1
  • vám dá kód rcpp v súbore .cpp (povedzme ex.cpp).

  • použitie Rcpp::sourceCpp("ex.cpp") aby bola táto funkcia dostupná v globálnom prostredí

  • potom len použite sumf <- function(mu, y) maxllC3(mu) + y