rJava安装及Java 开发R

1 语言简介

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。

Java语言在工业界长期处于霸主地位,Java语法、JVM、JDK、Java开源库,在近10年得到了爆发式的发展,几乎覆盖了应用开发的所有领域。伴随着Java的全领域发展,问题也随之而来了。语法越来越复杂,近似的项目越来越多,学好Java变得很难。对于没有IT背景的统计人员,学用Java更是难于上青天。

R一直是统计圈内处于佼佼者的语言,语法简单,学习曲线不太长也不太陡。如果能结合Java的通用性和R的专业性,碰撞出的火花,将会缤纷绚烂。

本文将介绍R与Java连接的高速通道,rJava通信方案。

2 rJava安装:

2.1系统环境:

  • win7 64bit 专业版
  • R 3.1.1
  • Java 1.8.0_20

2.2 安装rJava包

从R自带的IDE运行install.packages("rJava"),安装rJava:

rJava安装及Java 开发R_第1张图片

安装完成后调用 library("rJava")来检查一切是否OK:

rJava安装及Java 开发R_第2张图片

如图出错了,是因为缺少path的配置,解决本问题的关键是JAVA_HOME系统变量应该指向jre环境,添加环境变量:

Path:C:\Program Files\Java\jdk1.8.0_20\jre\bin\server,修改完成后再次运行library("rJava")

rJava 安装完成后,进行后面的环境变量配置。

2.3 环境变量

PATH: C:\Program Files\R\R-3.1.1\bin\x64;
CLASSPATH: C:\Program Files\R\R-3.1.1\library\rJava\jri

2.3.1 R中调用Java 测试:

在R的IDE中依次输入如下命令:
[plain] view plain copy
  1. > library(rJava)  
  2. > .jinit()  
  3. > s <- .jnew("java/lang/String", "Hello World!")  
  4. > s  
一切配置成功则出现如下令人兴奋的画面:
rJava安装及Java 开发R_第3张图片

2.3.2 Java 中调用R 测试:

启动Eclipse编写程序,结构和引用架包如下:
rJava安装及Java 开发R_第4张图片
相应的java code 如下:
[java] view plain copy
  1. package test.howard;  
  2. import java.io.*;  
  3. import java.awt.Frame;  
  4. import java.awt.FileDialog;  
  5.   
  6. import java.util.Enumeration;  
  7.   
  8. import org.rosuda.JRI.Rengine;  
  9. import org.rosuda.JRI.REXP;  
  10. import org.rosuda.JRI.RList;  
  11. import org.rosuda.JRI.RVector;  
  12. import org.rosuda.JRI.RMainLoopCallbacks;  
  13.   
  14. import org.rosuda.REngine.*;  
  15.   
  16. public class MyRJava{  
  17.     public static void main(String[] args) {  
  18.         MyRJava demo = new MyRJava();  
  19.         demo.callRJava();  
  20.     }  
  21.        
  22.     public void callRJava(){  
  23.         Rengine re = new Rengine(new String[] {"--vanilla"},false,null);  
  24.         if(!re.waitForR()){  
  25.             System.out.println("Cannot load R");  
  26.             return;  
  27.         }  
  28.         //打印变量  
  29.         String version = re.eval("R.version.string").asString();  
  30.         System.out.println(version);  
  31.           
  32.         //循环答应数组  
  33.         double[] arr = re.eval("rnorm(10)").asDoubleArray();  
  34.         for (double a:arr){  
  35.             System.out.print(a+",");  
  36.         }  
  37.         re.end();  
  38.     }  
  39. }  
在Eclipse启动设置VM参数:
[plain] view plain copy
  1. -Djava.library.path="C:\Program Files\R\R-3.1.1\library\rJava\jri\x64"  
rJava安装及Java 开发R_第5张图片
运行结果:

到此一切都正常了,希望对大家有帮助;

你可能感兴趣的:(R语言+金融数据分析)