2
Ich überlege eine R-Funktion von C++ über Umwelt nennen, aber ich habe einen Fehler, hier ist das, was ich tateine Funktion von C++ über Umwelt Rufen RCPP
#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;
}
Typ call(x)
, das ist, was ich habe,
Error: cannot convert to function
ich weiß, dass ich es richtig in einer anderen Art und Weise tun,
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
NumericVector callFunction(NumericVector x, Function f) {
NumericVector res = f(x);
return res;
}
und gibt
callFunction(x,fivenum)
Aber immer noch wundern, warum die erste Methode fehlgeschlagen ist.
fivenum Funktion ist nicht im globalen Umfeld definiert, sondern im Paket Statistiken .. Ich bin mir nicht sicher, aber das sollte funktionieren: Umgebungsstatistiken ("package: stats"); Funktion f = stats ["fivenum"]; ' – digEmAll
Ja! Es klappt! Danke vielmals! – skyindeer