首页 > 解决方案 > 如何在 C++ 中从 R 包调用 R 函数、存储结果并在 C++ 中使用它以进行进一步处理

问题描述

我想从 C++ 内部加载 R 中的 rpart 包,使用 rpart 包中的 rpart() 函数从 C++ 内部拟合 CART 模型,在 C++ 中调用结果,并将其存储以供进一步处理。我尝试过的代码如下所示。我对 Rcpp 和 cpp 非常陌生,希望能对我做错的事情有所帮助。


#include <RInside.h>                    // for the embedded R via RInside
#include <unistd.h>
using namespace Rcpp;

SEXP testfunc(int argc, char *argv[]) {

    // create an embedded R instance
    RInside R(argc, argv);               

    // running and storing an rpart model utilizing the rpart package from R
    std::string cmd = "rpart::rpart(Kyphosis ~ Age + Number + Start, data = kyphosis);";

    SEXP test = R.parseEval(cmd);
    
    return test;
}

标签: c++rrcpprinsidercpparmadillo

解决方案


推荐阅读