C++与R语言的交互,使用RInside包
下面记录C++调用R数据测试(主要参考RInside中附带的examples):
#include <iostream>
#include <vector>
#include <RInside.h>
using namespace std;
int main(int argc,char* argv[])
{
RInside R(argc,argv);//创建一个R环境
string cmdStr;//R命令行变量
cout << "******* test R basic data type *******" << endl;
cmdStr = "m <- 1.23";
double d1 = Rcpp::as<double>(R.parseEval(cmdStr));//将R命令结果解析赋值给d1
cout << "d1 = " << d1 << endl;
cmdStr = "str <- \"Hello World!\"";
string str = Rcpp::as<string>(R.parseEval(cmdStr));//将R命令结果解析赋值给str
cout << "str = " << str << endl;
cmdStr = "b <- FALSE";
bool b = Rcpp::as<bool>(R.parseEval(cmdStr)