我尝试用Java运行我的R脚本,因此我安装了JRI.并运行示例,我在64位Windows 7上使用Eclipse.示例代码的一部分如下:
public static void main(String[] args) {
System.out.println("Creating Rengine (with arguments)");
Rengine re=new Rengine(args, false, null);
System.out.println("Rengine created, waiting for R");
if (!re.waitForR()) {
System.out.println("Cannot load R");
return;
}
Run Code Online (Sandbox Code Playgroud)
但是,每次我运行它.打印出"创建Rengine(带参数)"之后,它终止了"创建Rengine,等待R"
我不知道什么是正确的输入参数,我试图在eclipse运行配置的程序参数下添加"--no-save",但仍然无济于事.
有什么建议?非常感谢
小智 27
在Mac上安装R:
参考:http ://cran.r-project.org/mirrors.html参考:http://cran.r-project.org/bin/macosx/RMacOSX-FAQ.html
从http://cran.csiro.au/下载MacOSX二进制文件R-2.13.0.pkg
在Mac OS X上安装Java Interface for R(JIR)
JIR现在是rJava的一部分.
> install.packages("rJava")
--- Please select a CRAN mirror for use in this session ---
trying URL 'http://cran.csiro.au/bin/macosx/leopard/contrib/2.13/rJava_0.8-8.tgz'
Content type 'application/x-gzip' length 769006 bytes (750 Kb)
opened URL
==================================================
downloaded 750 Kb
The downloaded packages are in
/var/folders/ZZ/ZZ7tAIJsFU8FDfPPp7H53++++TM/-Tmp-//RtmpCHz9Mh/dow
> library(rJava)
> .jinit()
> s <- .jnew("java/lang/String", "Hello World!")
> print(s)
[1] "Java-Object{Hello World!}"
Run Code Online (Sandbox Code Playgroud)
在Mac OS X上使用Eclipse运行JRI示例Java
将rJava/jri/examples/rtest.java复制到Eclipse JRI/src/.将JRI.jar从jri目录复制到JRI/lib/并将其添加到构建路径.
该rtest.java编译但它没有作为一个Java应用程序运行.
显然,它需要运行:./run rtest.
在检查了rJava包(内部./jri/)附带的"run"shell脚本之后,我在Eclipse运行配置中设置了这些脚本:
Environnment:
R_HOME = /Library/Frameworks/R.framework/Resources
PATH=/Library/Frameworks/R.framework/Resources/bin/
Run Code Online (Sandbox Code Playgroud)
此外,示例运行shell脚本设置以下环境变量:
R_INCLUDE_DIR=Library/Frameworks/R.framework/Resources/include
R_SHARE_DIR=Library/Frameworks/R.framework/Resources/share
R_DOC_DIR=Library/Frameworks/R.framework/Resources/doce
JRI_LID_PATH=Library/Frameworks/R.framework/Resources/lib:/Library/Frameworks/R.framework/Resources/bin
Run Code Online (Sandbox Code Playgroud)
VM参数:
-Djava.library.path=/Library/Frameworks/R.framework/Resources/library/rJava/jri/
Run Code Online (Sandbox Code Playgroud)
JRI.jar现在在构建路径中引用,它是:
/Library/Frameworks/R.framework/Resources/library/rJava/jri/JRI.jar.
Run Code Online (Sandbox Code Playgroud)
这会自动显示在-cp运行配置的选项卡下.
此外,运行配置需要一个程序参数:--save, --no-save or --vanilla.