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++中导致length_error异常

r - 如何使用函数 "approx"对不同日期进行线性插值?

r - 按因子水平的抖动箱线图加上组合水平的箱线图

r - 摘要(随机森林) - 如何阅读?

c - Linux 命令真的是 C 目标文件吗?

c++ - 在另一个 vector 中搜索 vector

c++ - RPN 计算器(将操作数应用于堆栈的问题)

C++ 条件表达式中的 sizeof( typename T)

php 脚本在 Linux 启动时不执行

linux - bash 脚本中的一个特定命令在由 cron 运行时不起作用,所有其他命令都可以