R语言学习(一)
本章学习R语言环境的搭建:
- 软件下载
- 软件安装
- 环境配置
- 在MyEclipse中调用R
- 容易遇到的问题
一、软件下载
1、下载地址:https://cran.r-project.org/bin/windows/base/
二、软件安装
1、只在这一步的时候修改地址,其他都选择默认安装
三、环境配置
1、安装rJava和jdk
在RGui中执行install.packages("rJava")
,就开始下载rJava包了。在给的路径下面找到rJava_0.9-8.zip,可能在下载的时候就已经放在D:\R\R-3.4.0\library下了
2、设置环境变量 ,涉及java调用R(我的电脑右键-属性-高级设置-环境变量)
- CLASSPATH=D:\R-3.4.0\library\rJava\jri;
- PATH=%RJAVA_HOME%\jri\x64;%RJAVA_HOME%\jri;%R_HOME%\bin\x64;
- R_HOME=D:\R-3.4.0
- RJAVA_HOME=D:\R-3.4.0\library\rJava
配置好环境后,一定要重启电脑。
3、在myeclipse中调用R。
- 先在rjava包jri中找到3个包,JRI.jar,JRIEngnie.jar和REngine.jar
- 将这3个包放在自己的java工程中导入进去。
- 然后在R-3.1.3\library\rJava\jri\examples中找到rtest.java和rtest2.java这两个文件,直接复制到自己的java工程中。
两个文件的不同点:
rtest.java是直接把R的console引在了我们的java控制台中
rtest2.java是启动一个R的一个服务
四、spring MVC的项目中调用R语言
1、调用的方法是rengine.eval(”xxxxx”),xxx就是你写的R语言的代码。
五、容易遇到的问题
1、在myeclipse中调用R
第一,可能会出现java.library.path的问题,那是因为没有找到那个库,可以在VM中给他指向你的那个库在vm arguments里添加-Djava.library.path="D:\R-3.4.0\library\rJava\jri\x64"
第二,可能会出现什么不能在32位系统平台中运行64位的 .dll ,出现这个错的时候说明你的配置出问题了,你要去检查你的这个java程序中配置的java是不是64位的,反正就是要把这两个的位数对应起来就行了。遇到最多的问题就是这两个了,然后基本技能跑通这个程序。
2、spring MVC的项目中调用语言
第一个,因为在项目是在tomcat中发布的,所以tomcat在加载的时候没有找到R的.dll文件,这个问题可以通过System.out.println(System.getProperty(“java.library.path”));这句话,找到你用的那个tomcat下面加载文件的目录,将这个jri.dll放进去,重新运行这个就行了。
第二个,是我在写工具类的时候发生的一个错误,我没有考虑到自己会多次使用到这个工具,从而导致我的电脑启动了很多个JVM,内存溢出,死机。这个问题,是通过一个单例模式的建立来解决的,我只让这个Rengine在项目中被实例化一次,这样子,他就只能被启动一次,不会导致电脑死机等等。
参考
- 解惑rJava R与Java的高速通道
- Rserve与Java的跨平台通信
- JAVA 调用 R 语言