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ď č. 1vá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