2016-08-01 11 views
1

私はパッケージXをRに入れました。このパッケージの機能はfoo()です。私は(Rcppを使って)関数foo()をcppファイルで呼びたいと思っています。出来ますか?rcppコードのパッケージからの呼び出し関数

#include <Rcpp.h> 

void function01() { 

    // call foo() from package X ?? 
} 
+2

これが(多分*なく、かなり*)基本的にhttp://stackoverflow.com/q/21225662/1968の重複 –

+0

に十分近いです私のための欺瞞。知られている機能、よく文書化されている、反復でSOを混乱させる点はありません。 –

答えて

6

これは一種の複製です。しかし、大多数のケースでは、ユーザー定義のパッケージからの呼び出しは必要ありません。その結果、

、使用する金型は、次のとおりです。

#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(....); 

} 
関連する問題