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中)。

我怎么能达到这一点?

在R中使用install.packages("rJava") – 将安装包含JRI的rJava。 使用R CMD INSTALL rJava_0.9-3.tar.gz可以获得相同的效果。 两者都是记录的安装R包的方法。 确保以前安装了JDK并使用Java支持配置了R. 安装完成后,您可以通过system.file("jri",package="rJava")询问R关于JRI的位置

请注意,为了使用JRI,您需要正确设置环境(通常使用R CMD )并设置java.library.path以包含JRI位置。 您可能想要扫描stats-rosuda-devel邮件列表,这是关于rJava / JRI的规范地点。