问题标签 [rjava]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2453 浏览

java - 在 Java/JRI 代码中加载 R 自己创建的库时出现问题

我创建了自己的新 R 库(称为“媒体”)。当我尝试用 RGui 加载它时没有问题,我可以调用新包中定义的函数。这就是我加载它的方式:

但是,我也试图从Java/JRI代码中调用这些函数,当我加载新的 R 包时,Java 似乎没有找到 pacakge,抛出消息“库中的错误(媒体):对象媒体' 未找到”

这是我当前使用 JRI 的代码:

如果没有“setwd”命令,它也会失败,并且对现有 R 函数的简单调用可以正常工作。我在 Windows 下使用 R 2.10 和最新的 JRI 0.5-0。

任何帮助,将不胜感激。非常感谢。

编辑:

该参数lib.loc似乎起作用,至少这句话不返回错误:

但在那之后,调用包中的函数re.eval("myfunction()");仍然失败,因为没有正确找到该函数。

0 投票
18 回答
138731 浏览

r - R:rJava包安装失败

使用install.packages("rJava")命令安装 rJava 时出现以下错误:

我安装了 Java JDK 并java -version返回以下内容:

当谷歌搜索错误时,我发现其他人也有同样的问题,但除了我已经完成的“安装整个 JDK,而不仅仅是 JRE”之外没有找到解决方案。

我读到的另一件事是运行sudo R CMD javareconf,它运行得非常愉快,没有错误。

任何想法我的问题是什么?

[[编辑]] 自从我遇到这个问题以来已经有几个月了。我最初通过编辑我的 Java 路径解决了这个问题,如下面的答案所示。我最近在安装新的 Ubuntu 时遇到了同样的问题。我尝试了 Dirk 的建议,使用 apt-get 安装 rJava 包。它工作得很好。我最初没有意识到的是,使用 Ubuntu apt-get 方法安装包与仅使用 R 内部的 install.packages() 加载相同的包根本不同。Ubuntu 包解决了一些我没有意识到或不理解的问题.

0 投票
1 回答
4154 浏览

java - 创建 R 包时包含 jar 文件

我创建了一个骨架 R 包:

r_code_file.R尝试引用 jarFileHere.jar 中的文件

但是由于 java.lang.NoClassDefFoundError 导致失败。

我能够使用它来工作

但是 rJava 文档明确表示不要使用 .jiit 因为当代码用作包时它不起作用。

0 投票
1 回答
2317 浏览

java - 从 R 调用绘图到 Java 应用程序

有没有人成功地使用 JRI 和 rJava?我想在我的 Java 应用程序中放入一些用 R 制作的图表,但没有成功。任何人都可以提供工作示例。这是我发现的,但它不起作用。

0 投票
3 回答
456 浏览

r - JRI 可以访问 Vista 上用户安装的软件包吗?

我开发了一个使用 JRI 来利用 ptw 包的 Java 应用程序。

在 Linux(Ubuntu 10.04、R 2.10.1、JRI 0.5.0)上运行良好。

但是,在 Vista(R 2.12.0,JRI 0.5.0)上,当应用程序评估“library(ptw)”时,会发生以下错误:

库中的错误(ptw):找不到对象“ptw”

当我从 Vista 命令行运行 R 并发出“library(ptw)”命令时没有问题。

如果我将 ptw 包从 %USERPROFILE%\Documents\R\win-library 复制到 %R_HOME%\library,那么问题就会消失。但是,我不希望我的用户必须这样做,事实上,有些人可能没有这样做的权限。

因此,如何让 JRI 调用可以访问用户已安装在其 %USERPROFILE%\Documents\R\win-library 中的包的 R-Engine?

我也在r-help 邮件列表上询问过,但并不高兴。

我知道 library() 函数的libloc参数,但我更喜欢一些不那么脆弱的东西,即自动而不是需要配置......

0 投票
4 回答
390 浏览

java - R:让聊天 Java 进程到 STFU

我正在使用 rJava 从 R 内部与 Amazon Web Services Java API 对话。经过一些最初的痛苦之后,我让它工作了。但是 API 非常健谈,并且向 R 反馈了大量非常适合调试的信息,但是现在我的代码可以正常工作,我想让这些信息喋喋不休。我将如何摆脱这种喋喋不休?我什至不知道在哪里看。API?rJava?R中的开关?

在哪里寻找任何帮助将不胜感激。以下是信息聊天的示例:

0 投票
1 回答
4126 浏览

r - 使用 rJava 调用第三方 Java jar 的挫败感

我正在尝试使用 R 来挂钩 GSRad 项目中的 Java 代码。GSRad Java 代码可在线获得,并以One-Jar项目 jar 的形式提供(直到今天我才熟悉 One-Jar)。我可以使用以下命令运行 One-Jar 文件(从上面的链接解压缩文件后):

当我打开 gsrad_sample.jar 文件时,我在 /lib/ 目录中看到一个名为 clima_GSRAD-1.0.0.jar 的 jar,其中包含我想与 R 挂钩的类文件。尝试了以下方法,但无济于事:

关于如何挂钩 clima_GSRAD-1.0.0.jar 中的类的任何提示?我很困惑。

编辑

GSRad 站点需要注册,这很烦人。包含 Java 包的 Doxygen 文档以及 One-Jar jar 文件的完整 zip 文件可在此处获得,如果你弹出它,打开包含我想要挂钩的类的 jar 就是这个

0 投票
1 回答
4080 浏览

r - R 包中的 rJava 类路径...适用于某些系统...不适用于其他系统

我已经为 R 构建了一个包,它将 R 包装在一些 Java 类周围。在我的开发笔记本电脑(Ubuntu)上,这个包可以正常加载并且运行良好。在另外两台机器(一台 Ubuntu,一台 Debian)上,我尝试使用这个包并且.jpackage()调用没有设置类路径。

这三台机器都在运行 R 2.12.1 和 rJava .8-8,我相信它们是最新的。

整个包都在 Google Code 上,但这里是 zzz.R 文件的内容,它可以在一台机器上设置类路径,但不能在其他机器上设置:

在我的笔记本电脑上,这将返回以下内容:

但在我的其他机器上它只返回:

关于可能导致 .jpackage() 调用在不同机器上以不同方式工作的任何提示?我之前使用 rJava 构建了包,并且对.onLoad()函数使用了相同的模板,没有任何问题。

编辑

因此,在其中一台不起作用的机器上,我尝试以“非包”方式简单地添加类路径的路径。那失败了:

嗯......所以我不能在类路径中添加任何东西。但为什么?

编辑二

当我将自定义库加载到其中一台无法正常工作的机器上时,我使用了一个临时库位置,如下所示:

然后像这样加载库:

我通过反复试验发现,如果我移除lib=钻头,它会正常工作。那么,为什么将使用 rJava 的 R 包加载到自定义库位置会阻止.jaddClassPath()函数工作呢?

我也许可以解决这个问题,但我很想知道是什么导致了这种奇怪的(至少对我而言)行为。

0 投票
1 回答
717 浏览

r - 如何使用“java.lang.Class”的预期返回类型?

我想我会尝试为Scribe(Pablo Fernandez 为 Java 编写的成熟 OAuth 库)编写一个 R 接口,作为一种在 Java 上刷新自己的方式(8 年内没有使用它),学习 rJava 并更好地利用 Twitter API。但主要是因为现在是星期五下午,我认为这会很有趣。:)

不幸的是,我还没有走多远……

我为 scribe和commons-condec下载了.jar 文件(它的唯一依赖项,我随后解压缩)。我已经使用 netbeans 在 Java 中运行了代码,并且使用他的twitter 示例运行良好。

通过遵循 rJava 文档,我对前几行代码没问题:

但随后抄写员快速入门指南说需要以下内容:

我不知道如何将其重写为 rJava 用语。一个小小的网络搜索表明我应该分部分做,所以首先我做了:

目前很好。然后我需要弄清楚提供者函数的返回类型是什么:

它需要“java.lang.Class”。这就是我感到困惑的地方。这意味着什么?我想,看看源代码,它需要一个“ServiceBuilder”类型的返回类型,但是怎么做呢?这是我查看 ?.jcall 后的最佳猜测(注意:'use.true.class = TRUE' 没有做任何事情):

有任何想法吗?

0 投票
1 回答
2866 浏览

r - rjava .jcall 问题

我目前正在开发一个 R 包以在 R 中集成 java 代码。但是,我在尝试正确调用 java 类方法时遇到问题。到目前为止,我已经独立开发了一个java程序,编译成class文件,然后打包成jar文件。我的代码示例如下:

但是,当我执行 .jcall 函数时,我收到一个错误:

我尝试了多种改变论点的方法,但没有运气。当我在类文件上运行 .jmethods("mailReader") 时,它列出了所有可用的方法:

因此,我迷失了如何正确调用将两个参数(用户名、密码)传递给 java 类文件。

有什么想法吗?提前致谢,