Java调用R——rJava的安装和配置
rJava是Java通过JRI调用R所要安装的包。配置起来比较麻烦,我参考网上进行配置,使用rJava包中example里面的示例测试,控制台显示:
Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path.
java.lang.UnsatisfiedLinkError: D:\developmentTools\R-3.1.1\library\rJava\jri\jri.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
意思是JVM不能加载32位的 .dll文件。我就反复修改,最终经过多次尝试终于成功了。下面介绍我是如何安装和配置的。
1.下载rJava.
下载和安装rJava很简单,只需要,在R中输入install.packages("rJava"),然后选择需要安装的镜像即可。如下图:

我选择的是China(Beijing 2)。选择后就会自动安装了。
下载完成后在R主目录的library目录中会多出一个rJava目录,这就是刚才下载的rJava包。
2.配置环境变量:
首先新建系统变量 变量名为R_HOME, 变量值为安装R的主目录,例如我的是:D:\developmentTools\R-3.1.1,这个需要根据自己的目录进行修改。然后在CLASSPATH变量中直接添加 %R_HOME%\library\rJava\jri\JRI.jar; 注意多个变量要用分号隔开, 下面的步骤很关键。在下载的rJava包中同时包含32位和64位的文件,要根据你的JVM是32位还是64位来选择。如下图:

jri文件夹中有i386(表示32位)和x64(表示64位)两个文件夹,里面分别放置的是32位和64位的jri.dll。jri文件夹中也有jri.dll这个文件,但其默认是32位的(可根据大小区分,64位的更大),如果你JVM是64位的,则需要用x64文件夹中的同名文件替换掉它。我的JVM是64位的,网上很多都是按照32位来讲的,所以我一直没成功。替换后成功了。然后再配置Path变量,在path变量中添加: %R_HOME%\bin\x64;%R_HOME%\library\rJava\jri; 。(如果你JVM是32位的, x64改为i386)
3.测试。
可使用rJava包中的示例进行测试,注意要添加JRI.jar, JRIEngine.jar, REngine.jar三个包文件。
Java调用R——rJava的安装和配置的更多相关文章
- Rsession让Java调用R更简单
Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
- JAVA 调用 R 语言
1 简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面,JAVA中可以转换R的数据类型调用R的 ...
- Java调用R语言
R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/ ...
- Java 调用R 方法
JAVA 调用 R 语言 1 简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面, ...
- JAVA调用R脚本
0 前言R是一种非常方便易用的绘图.统计分析.ML算法设计方面的脚本语言.实际中有这样一种场景:算法工程师用R搭建了机器学习算法模型,想用于javaweb之中但是又不想重新用java写一遍算法模型,那 ...
- JAVA 调用 R 语言之升华篇
由于项目的需要,最近做了一个javaWeb调用R的组件,在这里,我把自己走的一些弯路给大家总结一下: 一.选取什么插件作为java和R之间的通信? 1. 在传统的方式中,大致可以分为两类:一类是JRI ...
- JAVA调用R
JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...
- Java调用R(二)_JRI
推荐使用.相比RServe更灵活,效率更高. 基本步骤 1. R中需要安装rJava包. 2. 系统变量Path加上 C:\Program Files\R\R-3.0.1\bin\i386;C:\ ...
- Java调用R(一)_Rserve
最近做项目涉及到R总结一些Java本地调用R和Java web项目中调用R的基本步骤 1. R中安装Rserve包 2. 系统变量Path加上 C:\Program Files\R\R-3.0.1 ...
随机推荐
- 在VC6.0下如何调用Delphi5.0开发的进程内COM
因为本人的语言水平很差,考大学时150的总分,我考了个60分.外语也是,初中及格过一次,会考及格过一次.其它的时间好像从没有及格过.所以我不写文章,因我一百字的文章给我写,至少要出八九个错别字.哈哈… ...
- MongoDB存储时间
之前一篇博客C++的时间中提到了MongoDB保存时间类型数据可以使用timestamp类型. 不过在实际编程过程中,发现保存timestamp容易,读取难.MongoDB C++的这方面的例子还没有 ...
- openstack 升级设计要求的指导原则
不知道其他软件有没有类似的指导原则. Theory of Upgrade Grenade works under the following theory of upgrade. New code s ...
- linux环境之监听端口配置
export JAVA_OPTS="-Dcom.sun.management.jmxremote.port=18950 -Dcom.sun.management.jmxremote.auth ...
- var 与function的权重浅析
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- find the mincost route(最小环,最短路,floyd)
find the mincost route Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- JVM参数
下面给出各种可以用户设置堆大小的命令行参数.注释列提供了一些设置参数的初级或高级建议.此外,后面还会给出更多的详细建议. 参数 描述 注释 -Xms<size> 设置堆的最小值 在生产阶段 ...
- printf("%d, %d\n", i++, ++i)的输出结果是确定的吗???
1. 问题描述 以下代码的输出结果是什么? 题目1: ; printf("%d, %d\n", i++, ++i); 题目2: ; printf("%d, %d, %d, ...
- eclipse 中修改 M2_REPO的值
转自: http://blog.csdn.net/xuechongyang/article/details/8267440 从eclipse中增加了maven2的插件之后,maven默认的本地库的路径 ...
- MSSQL 当前会话设置隔离级别与查询
之前因为MySQL没有with(nolock)这种写法,于是想设置隔离级别,结果被坑. 直觉以为和MSSQL一样只要打set transaction isolation level xxx 就能搞定 ...