问题标签 [jri]
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.
r - 无法通过 JRI 加载 ggplots2 包
我在通过 JRI 界面加载 ggplot2 包时遇到问题。ggplot2 通过 R 脚本加载正常,所以我相信它已经正确安装。只有当我尝试通过 JRI 加载它时,才会出现以下错误。
所以 ggplot2 要求加载 plyr 包。如果由 R 脚本运行,此包将加载,但不会从 JRI 加载。我怀疑这是因为在加载 JRI 之前没有正确设置环境变量,可能是 LD_LIBRARY_PATH。查看 R 脚本,我不知道该路径的设置位置(因为 R 脚本显然正确设置了所有环境变量,以便 plyr 找到所需的 R_NilValue 符号)。我已将 R 脚本中的所有环境变量设置复制到用于加载 JRI 的脚本中(以便它正确设置 R_HOME、R_SHARE_DIR、R_INCLUDE_DIR 和 R_DOC_DIR - 我在通过 JRI 加载其他包时也遇到问题,直到我设置了这些环境变量,它解决了这些问题)。但是,这并不能解决错误。此外,我' 我尝试从 rJava/JRI 提供的 Run 脚本加载 ggplots2 包,但我仍然遇到相同的错误。谁能告诉我 R_NilValue 是在哪里定义的,我做错了什么?
我正在使用包 rJava 0.9-0 和 ggplot2 0.8.9 在 sparc-sun-solaris2.10 32 位平台上运行 R 版本 2.13.0。
java - 使用 JRI 从 Java 编写 R 中的 csv 文件
如果这很明显,请提前道歉,但我似乎无法在网上找到答案。我想知道是否可以从 Java 写入 R 中的 csv 文件。例如,如果我要创建普通数据并将其写入 csv 文件,我认为这样的事情可能会起作用:
另外,在较小的说明中,如果我从 java 在 R 中创建一个对象,以后有什么方法可以访问它吗?一个简单的例子:
java - 将 REXP 对象转换为双精度数组 (Java/R)
例如,我希望 R 生成普通数据,然后在 Java 中使用这些数据。我知道有一个函数可以将 REXP 对象转换为数组,但它似乎不起作用。这是我所拥有的:
我都打印出来看看有什么问题。结果如下:
问题是 R 如何将结果返回给 java;它告诉 java x 是什么,如果它们是字符串,它会说 [String*(..whatever..)]。我只想要括号中的内容。无论如何,它返回的行也是一个字符串。
我将处理大数据,所以我希望它很快。我曾尝试使用子集,提取括号中的内容,然后将它们解析为双精度,但必须有更好的解决方案。此外,这似乎不适用于超过 100 点的数据。
java - 从 Java 中读取 R 中的 csv 文件(使用 JRI)
我想使用 JRI 将 csv 文件从 Java 加载到 R 中。由于某种原因,当我尝试这样做时,程序终止并且不返回任何错误或结果。这是我的代码:
正如我所说,没有任何反应,程序只是终止。我知道有一个连接并且程序由于加载 csv 文件而终止,因为以下代码确实有效:
结果是25!只是为了获得更多信息,我已经设置了环境变量 PATH、R_INCLUDE_DR、R_SHARE_DR、R_DOC_DR。
提前致谢,
阿兰
java - 如何使用 R、Java 和 JRI 绘制图形?
我对 R 很陌生,所以如果这是一个非常基本的问题,请原谅我。
我写了一个 R 脚本,它做了一些计算,最后绘制了箱线图。如果我从 R 控制台运行此脚本,它运行良好并绘制图形。
如果我从 Java 程序(JRI 站点上给出的示例 rtest.java 程序)运行脚本,计算就可以完成。但是绘制图表存在一些问题。框架窗口打开并保持忙碌并挂起。(如果我尝试单击窗口,它会显示“未响应”。)我正在使用 JRI。
这就是我在脚本中绘制图形的方式:
上面的命令在 R 控制台上运行良好。
我很确定这是关于一些导入/包或一些类似的设置。但无法找出它到底是什么。
谁能帮我这个?
谢谢。
编辑 1: 我的箱线图命令的输出:
此代码在 John 提供的链接上的输出:
java - JRI 和 R - 无法捕获输出
我正在尝试使用 Java 和 R(JRI 和 Rengine)绘制一些图表。当我在我的代码中写这样的东西时,它工作正常:
但如果我这样写:
输出窗口闪烁片刻然后消失。这个指定的文件只包含 1 个命令,作为第一个,即re.eval("plot(c(1,5,3,8,5), type='l', col=2)");
我对 R 很陌生,所以这可能是一个非常基本的问题。但我无法找到它。谁能帮我吗?
谢谢。
编辑 1
我正在使用 Windows XP。
这是完整的代码:
java - 是否可以将 java.sql.Connection 从 Java 传递到 R?
我想在我的 Java 应用程序中使用 R。我现在有一些可以从 Java 运行 R 的接口(我想我会使用 JRI)。RJDBC 库允许 R 使用 JDBC 驱动程序连接到数据库。
我想要做的是将打开的连接从 Java 应用程序传递给 R 以供使用。
这个有可能?
编辑:我可以为 R 传递参数并从 R 打开一个新连接。我可以使用 rJava 从 R 访问 Java 对象。
如果可以将java.sql.Connection
Java 中的对象传递给 R 并转换 R 连接对象中的连接,则 R 使用 RJDBC 来访问数据库。
java - 使用 JRI 从 Java 调用 R,如何转换返回值
我正在使用 JRI 从 Java 执行一些 R 命令。我想在我的 Java 中使用 R 的结果进行进一步计算,但我不知道如何转换返回的对象。
Java调用代码:
R代码的最后一行:
--
Java控制台中的输出:
“3.050462038715372”是正确的值,但如何在 Java 中访问它?
最好的问候,伊曼纽尔
PS。没有答案的相关问题: Converting REXP object to a double array (Java/R)
java - 在 R 中评估从 Java 调用的表达式。内存不足错误:Java 堆
我在将大型数据集从 Java 加载到 R 时遇到问题。问题实际上出在我正在使用的功能上:re.eval()
. 我想将一个文件加载到 R 中,以便我可以在 R 中分析/操作它,但是我想从 Java 中执行此操作(这是为了构建一个 GUI)。
我想要函数做的是解析和评估我提供的字符串,但是,eval 函数会解析、评估并返回结果。我从 java 收到关于堆大小的内存不足错误。这是我目前的代码:
当我使用 13500x220 的数据框时,此代码有效。新数据框为 50000x700。我还想知道上面的代码到底发生了什么?它是在 R 中创建并发送回 java(即重复?)。
任何帮助/意见将不胜感激。我还查看了 Rosuda Rengine 类描述和可用功能;我在想也许rniEval()
可以解决问题,但我不知道如何实现它。
java - 如何将 R 脚本加载到 JRI 并从 Java 执行?
我正在使用 JRI 从 Java 执行 R,我看到 JRI 使用该eval()
方法执行 R 命令。我有一个要执行的 R 脚本。
如何在 JRI 中加载此脚本并执行它?