我们一起来学习R吧

今天,我要开始学习R了。

JAVA+R

入门知识推荐:https://www.jianshu.com/p/2a1a2ca1a916

1. R是一种什么语言呢?
  • R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
2. R有什么特点?
  • R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行于UNIX,Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统,相比于其他统计分析软件,R还有以下特点:
  1. R语言是一种开发良好,简单有效的编程语言,包括条件,循环,用户定义的递归函数以及输入和输出设施。
  2. R语言具有有效的数据处理和存储设施,
  3. R语言提供了一套用于数组,列表,向量和矩阵计算的运算符。
  4. R语言为数据分析提供了大型,一致和集成的工具集合。
  5. R语言提供直接在计算机上或在纸张上打印的图形设施用于数据分析和显示。

接下来就开始实际接触吧。

3. 环境配置

下载安装包:
R-3.6.3-win.exe
RStudio-1.2.5033.exe

安装步骤很简单,百度一下就可以了。
不过要注意的是,RStudio安装目录不能有中文,安装好R和RStudio,在打开RStudio的时候,会出现一个配置窗口,R版本选符合本机版本,引擎选自动检测就可以了。
进入RStudio之后,更改工作目录。R语言的变量可以直接使用,而不需要申明变量,所以容易导致覆盖问题。详细操作

配置java调用R的配置,分为Rserve和jri两种。

  • Rserve方式:进入R编辑,输入install.packages(‘Rserve’)安装Rserve,library(Rserve)加载Rserve,Rserve()开启Rserve服务。下载jar包(REngine.jar,RserveEngine.jar)。将这两个jar包导入java项目中。

java调用R语言函数的代码样例:

  • java在调用R函数之前,需要启动R服务:1.library(Rserve);2.Rserve();3.source(‘R文件路径’)//加载R函数。(手动执行或者通过JAVA代码执行)
//R语言函数,文件D:/workutils/RWorkspace/test.R
myFunc<-function(data){
  x=data+2;
  return(x)
}
public static void main(String[]args)throws REXPMismatchException, REngineException {
	  //R函数同时只能被一个实例调用。
	  RConnection c =new RConnection("127.0.0.1");
      REXP x =c.eval("R.version.string");
      System.out.println(x.asString());
      double[]arr =c.eval("rnorm(5)").asDoubles();
      for (double a :arr) {
         System.out.println(a + ",");
      }
	  // test.R的路径
	  String fileName = "D:/workutils/RWorkspace/test.R";
	  c.assign("fileName", fileName);
	  //执行test.R脚本,执行这一步才能调用里面的自定义函数myFunc,如果不行,就在R工具上也执行一下test.R脚本
	  c.eval("source(fileName)");
	  int num = 3;
	  //调用myFunc函数
	  REXP rexp=c.eval("myFunc("+num+")");
	  //返回类型是一个整数类型,所以用asInteger
	  System.out.println("str:"+rexp.asString());
	  c.close();
}	

如果执行后没有报错,控制台正常输出,说明环境基本就配置好啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值