我正在尝试使用Java运行R。我在我的Mac上安装了R,我已经在终端上使用过很多次了。
在终端中,要启动R,只需键入"R“
例如:
Macintosh-11:Desktop myname$ R
R version 2.12.2 (2011-02-25)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> 所以,我想要做的是,通过Java,通过终端运行R。所以,我给自己写了一个Java类:
public class javar {
public static void main(String[] args) throws Exception {
Runtime.getRuntime().exec("R");
}
}但是,当我编译并执行时,使用
java javar我没看到R启动。我只是看到程序执行完毕,然后终端就准备好执行另一个命令了。
我怎样才能实现我想要做的事情呢?
发布于 2011-06-06 23:13:23
当我遇到您的问题时,我最终使用了JRI,它不仅创建了一个R/Java连接,而且允许您在两者之间交换矩阵和向量。
虽然我不建议这样做,但你的方法可能有效,但R不会在你启动它后“挂起”,它只会什么都不执行并退出。尝试添加"--vanilla“选项,显然要给它提供一些代码,使用--file=yourScript.R并最终使用--args参数
public class javar {
public static void main(String[] args) throws Exception {
Runtime.getRuntime().exec("R --vanilla --file=yourScript.R");
}
}https://stackoverflow.com/questions/5833842
复制相似问题