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的安装和配置的更多相关文章

  1. Rsession让Java调用R更简单

    Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...

  2. JAVA 调用 R 语言

    1 简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面,JAVA中可以转换R的数据类型调用R的 ...

  3. Java调用R语言

    R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/ ...

  4. Java 调用R 方法

    JAVA 调用 R 语言 1       简介 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方法,另一方面, ...

  5. JAVA调用R脚本

    0 前言R是一种非常方便易用的绘图.统计分析.ML算法设计方面的脚本语言.实际中有这样一种场景:算法工程师用R搭建了机器学习算法模型,想用于javaweb之中但是又不想重新用java写一遍算法模型,那 ...

  6. JAVA 调用 R 语言之升华篇

    由于项目的需要,最近做了一个javaWeb调用R的组件,在这里,我把自己走的一些弯路给大家总结一下: 一.选取什么插件作为java和R之间的通信? 1. 在传统的方式中,大致可以分为两类:一类是JRI ...

  7. JAVA调用R

    JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...

  8. Java调用R(二)_JRI

    推荐使用.相比RServe更灵活,效率更高. 基本步骤 1.  R中需要安装rJava包. 2.  系统变量Path加上 C:\Program Files\R\R-3.0.1\bin\i386;C:\ ...

  9. Java调用R(一)_Rserve

    最近做项目涉及到R总结一些Java本地调用R和Java web项目中调用R的基本步骤 1.  R中安装Rserve包 2.  系统变量Path加上 C:\Program Files\R\R-3.0.1 ...

随机推荐

  1. ARM Cortex M3(V7-M架构)硬件启动程序 一

    Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...

  2. nginx 通过rsyslog发日志 rsyslog服务器挂掉 日志丢失问题

    nginx 配置: user nginx; worker_processes 1; syslog local5 nginx-zjzc01; rsyslog 服务器收到的消息: -rw-r--r-- 1 ...

  3. docker 私有仓库镜像的存储位置

    docker 私有仓库的镜像 是存储在5739360d1030 registry "docker-registry" 3 days ago Up 28 hours 0.0.0.0: ...

  4. js原生forEach、map与jquery的each、$.each的区别

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  5. linux 自旋锁

    一.概述: 自旋锁是SMP架构中的一种low-level的同步机制.当线程A想要获取一把自旋锁而该锁又被其它线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了.对于自选锁需要注意: 由于自 ...

  6. 文档onload处理程序

    //第一种方式是注册onload事件处理代码, //onload事件会在页面或图像加载完成后立即发生.这意味着onload事件的执行时间是在 //document对象和document对象所关联的所有 ...

  7. matlab GUI之自定义菜单小结

    自定义菜单 1.uimenu对象 h=uimenu('PropertyName','ProperValue') h=uimenu(parent,'PropertyName','ProperValue' ...

  8. win7+cygwin+hadoop+eclipse

    1.Cygwin : Net    下的:openssh,openssl Base  下的:sed (若需要Eclipse,必须sed)默认即可 Devel 下的:subversion(建议安装) 2 ...

  9. log4j.xml配置示例

    这是log4j1.x版本讲解,log4j-1.2.16.jar    1. 一般的log4j.xml的两种配置方式: 1.Logger 完成日志信息的处理定义输出的层次和决定信息是否输出DEBUG&l ...

  10. 安卓自定义view_GDI绘图 _2d绘图_canvas绘图

    2014年到2016年 发生了很多事情,如今已成定局,现在想忘掉这些烦恼的事情,找点以前想干没有干的事情来做,塞满大脑就不去想了. 之前,一直想做一款挂机类游戏,各种平台和开发语言都选择过了,从htm ...