Tag: jri

Java / R接口(JRI)

我想在已安装R的Linux机器上从Java中调用一些R代码,因此需要Java / R接口(JRI)。 但是,我不知道该如何解决这个问题。 JRI主页说该软件包捆绑在rJava中 。 所以,我从rJava Files部分下载了rJava-0.9.3.tar.gz ,然后将其解压缩,获得(除其他外) src / java文件夹中的许多Java源文件(及其相应的类),以及2 inst / jri文件夹中的JAR(JRIEngine.jar和REngine.jar)。 但是,除了上述2个JAR之外, JRI文件部分还包括JRI.jar,并且所有这三个库都比inst / jri中的2个更新 。 此外,这3个JAR中没有一个包含src / java中找到的类的二进制文件,这似乎是在Java中调用R所必需的。 在java / src文件夹中运行“make all”似乎只是执行一些测试而没有生成JAR。 我希望所有必需的类都捆绑在JAR文件中,以便可以在类路径和IDE项目中轻松添加它们(例如,在Eclipse中)。 我怎么能达到这一点?

尝试使用JRI将R与我的Java应用程序集成,但是我遇到了错误。 谁能解释原因和解决方案?

我需要将Java与R集成以运行一些数学命令并使用R的特征进行绘图。以下部分代码给出了错误。 public static void main(String[] args){ HelloRWorld r = new HelloRWorld(); r.helloRWorld(); } public void helloRWorld() { // using rengine to connect to r rengine.eval(String.format(“greeting <- '%s'", "Hello R World")); REXP result = rengine.eval("greeting"); System.out.println("Greeting from R: "+ result.asString()); } 这是我得到的错误,并且不知道它。 这是与JFrames相关的吗? Java运行时环境检测到致命错误: pc = 0x000000006c726036,pid = 5360,tid = 5956的EXCEPTION_ACCESS_VIOLATION(0xc0000005) JRE版本:Java(TM)SE运行时环境(8.0_11-b12)(内部版本1.8.0_11-b12)Java VM:Java HotSpot(TM)64位服务器VM(25.11-b03混合模式windows-amd64压缩oops)问题框架:C [R.dll + […]

加载R在Java / JRI代码中创建库的问题

我创建了自己的新R库(称为“媒体”)。 当我尝试使用RGui加载它时没有问题,我可以调用新包中定义的函数。 这是我加载它的方式: > library(Media) 但是,我也试图从Java / JRI代码调用这些函数,当我加载新的R包时,Java似乎没有找到pacakge,抛出消息“库中的错误(媒体):对象’媒体’ 未找到” 这是我使用JRI的当前代码: REXP rexpSetFolder = re.eval(“setwd(‘C:/Users/Albert/Documents’)”); REXP rexpFolder = re.eval(“getwd()”); System.out.println(rexpFolder.asString()); REXP rexpLoad = re.eval(“library(Media)”); // fails 没有’setwd’命令也会失败,对现有R函数的简单调用工作正常。 我在Windows下使用R 2.10和最新的JRI 0.5-0。 任何帮助,将不胜感激。 非常感谢你。 编辑: 参数lib.loc似乎有效,至少这句话不会返回错误: library(“Media”, lib.loc = “c:/Users/Albert/Documents”) 但之后,使用re.eval(“myfunction()”);调用包中的函数re.eval(“myfunction()”); 仍然失败,因为没有正确找到该function。

在eclipse中使用额外的本机代码库导出到Runnable jar

我无法将我的java项目从eclipse导出为jar可执行文件。 我的java项目使用外部库(称为jri)。 我已经导出了jri.jar文件并在eclipse中为其本机库设置了库路径,并且它在eclipse中的开发效果很好。 但是,当我将其导出为可执行jar文件时,我收到以下错误: Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path. 我把一个名为lib的文件夹放在与我的项目jar相同的目录中; 这个lib文件夹包含jri的本机库。 jri的本机库不在一个文件中,而是在一个文件夹中。 这与我在eclipse中的设置相同。 我在eclipse中导出项目的方式是 Export… Java > Runnable JAR file Copy required libraries into a sub folder next to the generated Jar Finish 我的文件夹是这样组织的 folder project project.jar project_lib jri.jar jri […]

如何使用R,Java和JRI绘制图形?

我是R的新手,所以请原谅我这是一个非常基本的问题。 我写了一个R脚本,它做了一些计算,最后绘制了Box Plot。 如果我从R控制台运行此脚本,它运行正常并绘制图形。 如果我从Java程序(JRI站点上给出的示例rtest.java程序)运行脚本,则计算结果很好。 但绘制图表存在一些问题。 框架窗口打开并保持忙碌并挂起。 (如果我尝试单击窗口,则会显示“无响应”。)我正在使用JRI。 这就是我在脚本中绘制图形的方式: boxplot(mat); 以上命令在R控制台上正常工作。 我很确定这是关于某些导入/包或类似的设置。 但无法弄清楚到底是什么。 谁能帮我这个? 谢谢。 编辑1: 我的盒子绘图命令的输出: 在John提供的链接上输出此代码 :

Java R接口(JRI)安装程序

我正在尝试设置Java / R接口(捆绑在R“rJava”包中),但我遇到了一些麻烦(尽管在这里和其他论坛上尝试了很多建议)。 我正在运行Windows 7,jdk1.7.0_05,Eclipse,R 2.15.2。 这些都是64位安装。 我试图让示例运行的步骤如下: 在R GUI中安装rJava:install.packages(’rJava’) – 安装到C:\ Users \ USERNAME \ Documents \ R \ win-library \ 2.15 \ rJava \ 设置环境变量:R_HOME =“C:\ Program Files \ R \ R-2.15.2”,添加到PATH =“C:\ Program Files \ Java \ jdk1.7.0_05 \ bin”;“C:\ Program Files \ Java \ jdk1.7.0_05 \ jre \ bin \ server“;”C:\ […]

在Windows上设置Java R接口(JRI)

我已经关注了网络上的指南并查看了有关stackoverflow的问题,但我仍然无法在Windows上设置JRI。 以下是我采取的步骤: 1)安装R. 2)在R中执行install.packages(“rJava”)以安装rJava 3)创建一个值为C:\Program Files\R\R-3.1.2的R_HOME系统变量 4)将以下内容添加到我的PATH变量: C:\Program Files\R\R-3.1.2\bin\x64;C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri\x64 5)在IntelliJ中添加了JRI.jar(位于C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri )作为依赖项 6)将IntelliJ中的VM选项设置为-Djava.library.path=C:\Users\USERNAME\Documents\R\win-library\3.1\rJava\jri\x64 7)启动R并执行library(“rJava”) 8)运行我的程序来测试是否所有设置 收到以下错误: # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006c726096, pid=5860, tid=6932 # # JRE version: Java(TM) SE Runtime Environment (8.0_31-b13) (build 1.8.0_31-b13) # Java VM: Java HotSpot(TM) 64-Bit Server VM […]