“Rserve”不被识别为内部或外部命令



基本设置是在后台运行基于 Java 的 UI 和 R。Rserve实用程序有助于解决这种情况。

众所周知,Rserve虽然不是一个包,但可以像普通的R包一样安装和运行。一个简单的library(Rserve)将调用它,在Windows任务管理器中,您会看到进程启动并正在运行。

但是,还有另一种方法,即在 Java 本身编写脚本,而不必经常转到 R 控制台

/**
     * initiate R serve
     */
    try {
        Process p=Runtime.getRuntime().exec("R CMD Rserve --vanilla"); //I'm stuck here
        p.waitFor();
    } catch (IOException e1) {
        e1.printStackTrace();
    } catch (InterruptedException e2) {
        e2.printStackTrace();
    } 

问题是,R CMD Rserve --vanilla不起作用。它说,

`Rserve` is not recognised as internal or external command. 

我的R CMD是完美的,R工作得很好,Rscript也是如此,但不是Rserve。我想知道如何在 R 安装中为 Rserve 设置适当的目录/路径,以便解决此错误?

我意识到这个问题是很久以前的问题,但我觉得对于那些感兴趣的人来说,答案仍然是必要的。

按照建议:

二进制安装无法写入 $R_HOME/bin,因此上面描述的 Rserve() 函数是在这种情况下启动 Rserve 的唯一可靠方法。

而不是使用

R CMD Rserve

Rscript -e "library(Rserve); Rserve()"

另外,对于那些对 Rserve 文档 (?Rserve) 中关于该行的评论感到困惑的人:

Java

开发人员可能希望在 java/Rserve/test 示例中查看 StartRserve 类,以便轻松从 Java 启动 Rserve。

您可以通过提取内容并导航到 ./clients/java/Rserve/test/StartRserve.java 来 https://rforge.net/Rserve/snapshot/Rserve_1.8-8.tar.gz 中找到该类。

相关内容

  • 没有找到相关文章

最新更新