У меня есть пакет X
в R. В пакете есть функция foo()
. Я хочу вызвать функцию foo()
в файле cpp (используя Rcpp). Является ли это возможным?
#include <Rcpp.h>
void function01() {
// call foo() from package X ??
}
У меня есть пакет X
в R. В пакете есть функция foo()
. Я хочу вызвать функцию foo()
в файле cpp (используя Rcpp). Является ли это возможным?
#include <Rcpp.h>
void function01() {
// call foo() from package X ??
}
Это своего рода дубликат. Тем не менее, в большинстве случаев не требуется вызов из пользовательского пакета.
В результате форма для использования:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
void function01(){
// Obtain environment containing function
Rcpp::Environment package_env("package:package_name_here");
// Make function callable from C++
Rcpp::Function rfunction = package_env["function_name"];
// Call the function and receive output (might not be list)
Rcpp::List test_out = rfunction(....);
}