基本设置是在后台运行基于 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 中找到该类。