c++ - 从 C++ 程序调用 R(在 Linux 中)

标签 c++ r linux

我在这里做错了什么?当我像这样直接调用Rscript

/home/vagrant/bin/Rscript -e "x <- 2; x+1"

我得到这个输出

[1] 3

当我使用 execl() 从 C++ 程序调用 Rscript 时,出现错误。

调用Rscript的代码片段如下

void callR_dummy(int i) {
  int errval = execl("/home/vagrant/bin/Rscript", "-e", "x <- 2; x+1", (char*) NULL);
  int err = errno;
  cout <<"callR " << i << " : errno = " << err << endl;
}

我明白

Fatal error: cannot open file 'x <- 2; x+1': No such file or directory

在有人建议编写 R 扩展之前,这对我来说不是一个选择,我对此受到限制。 在有人再次将其标记为重复之前,不,它不是。没有扩展不是一个选项。

最佳答案

int errval = execl("/home/vagrant/bin/Rscript", "-e", "\"x <- 2; x+1\"", (char*) NULL);

关于c++ - 从 C++ 程序调用 R(在 Linux 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696610/

相关文章:

c++ - 将不同的模板类存储在同一个容器中

C++ STL 容器集和多集 :the insert operation with different return types

r - 在for循环中获取列表名称

c++ - 如何在 yocto 上移植 grpc helloworld(CPP) 示例

带有 Tegra 3 的 ARM 上的 Linux

c++ - 如何判断一个32位/64位的值是否有某个16位的值?

c++ - 如何构建 Eigen::Map 到我打算用数据填充的 matlab::data::Array 对象

R: bench::mark 不返回最大值和平均值

将另一个数据框中的列名称替换为 R 中缺少的列名称?

linux - 如何在 Linux 中到处运行脚本