问题标签 [renjin]

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 投票
2 回答
1662 浏览

java - 在中采购多个 R 文件

目前我在我的本地机器上使用 R,在那里我可以有条件地获取多个 R 脚本(因为它们被放置在我的本地驱动器中)。

但是,当我需要在 Google Data Flow 中的 RENJIN 上使用相同的脚本来实现并行性时,我无法获取文件。

我有多个带有 .R 扩展名的 R 脚本文件。我需要读取主 R 脚本文件并需要在运行时传递到数据流中,但主 R 文件必须是引用其他 R 脚本文件的源标记。当从 java 读取主要 R 文件内容并将其传递给 google 数据流时,Jave 无法解释引用其他 R 脚本文件的 R 文件中的源标记。

为了处理这种情况,我可能会使用一种不整洁的解决方案将整个代码保存在一个文件中。具有不同的函数名称。

Renjin 有什么方法可以保存所有需要使用的 R 脚本文件并在运行时传递给谷歌数据流。

0 投票
1 回答
223 浏览

java - 从 R (Renjin) 中的字符串表达式中获取变量名称

我正在使用 Renjin 来评估我的 Java 程序中的 R 公式。基本上,用户在文本字段中键入 R 公式,我希望 R/Renjin 为我进行解析,并返回该表达式中的变量列表。假设用户输入a*b,我想要["a", "b"]结果。

我查看RParser.parse()了 Java 部分的方法。但是当我打电话时,RParser.getResult()我得到一个SEXP对象,但我找不到从中获取变量名称的方法。

在 R 侧,我看了看parse(text="a*b")。我可以eval(),但我也没有找到获取名称的方法。

有任何想法吗?

编辑

从 R 中,可以通过以下方式实现:

问题是,当我用 Renjin 运行它时,我得到Exception in thread "main" org.renjin.eval.EvalException: getParseData() is not currently supported by Renjin.

还在找……</p>

0 投票
1 回答
46 浏览

java - 仁进不承认德语变音

我有一个广泛使用德语变音符号的文件。我编写了一个脚本来处理在本机 R (RStudio) 中正常工作的文件。不幸的是,在使用 Renjin 时,所有变音符号都设置为文件字符串中的未知字符。由于文件结构的原因,我使用 readLines-command 来读取文件。在这种情况下,命令 read.table() 不是正确的解决方案。

我想使用 Renjin,因为我在 Java 团队工作,在 Renjin 的帮助下,我可以保留我们的工作环境,这当然是基于 Java 的。

Java 正确识别变音符号(使用正确的文件编码)。我还检查了 Renjin 是否正确打印了变音符号,但事实并非如此。我已经尝试将 Renjin 中的 R 语言环境设置为“German_Germany.1252”。因此我使用了以下 R 命令:

engine.eval("Sys.setlocale(category = 'LC_ALL', locale = 'German_Germany.1252')")

然后正确设置本地。但是,仁进根本不认识变音符号。我在打印文件的一行时检查了它,但也有一个字符直接传递给 Renjin(使用:)engine.eval("print('äöß')")

你知道如何解决这个问题吗?如果没有,我应该在 github 上打开一个问题吗?

0 投票
1 回答
118 浏览

java - Renjin IOException 在加载包 Rweka 时,找不到函数 '.jfield'

我正在尝试在 Java 程序中执行 R 脚本,所有依赖项都使用 Maven 安装,但问题仍然存在。

在我解决问题的研究中,我发现 jfield 是 rJava 提供的一个函数,但我不确定 rJava(Renjin 包)是否实现了它。

¿ 有没有办法检查这个?¿ 或者我错过了什么?

我的程序使用了 Renjin 支持的所有库:

  • rJava
  • 威卡
  • RWekajars

我正在通过 Maven 使用 beta 驱动的公共 repo 来安装它们。这是主要课程:

这里是我的 pom.xml,

运行程序时的第一行输出:

提前致谢!

0 投票
1 回答
74 浏览

r - 在 Renjin 中使用日期和时间

我有点迷茫,我怎样才能将一组日期时间传递给 renjin (虽然字符串真的很痛苦)。它可以是 Joda 或 Java dateTime 类或类似的

我还没有找到日期时间类型。

0 投票
1 回答
104 浏览

java - java - 如何在java renjin的文本窗格上显示输出?

我是javaand的初学者renjin。我需要我的输出结果显示在我的jtextpane,我该怎么做?我好累。如果你知道怎么做,请告诉我。谢谢

0 投票
1 回答
100 浏览

renjin - 仁进:engine.eval返回值

在 Renjin 中,返回的实际值是多少:

例如:

返回具有单个 10 值的 DoubleArrayVector。我想这是最后一次计算。

返回一个 data.frame (ListVector...)

有什么方法可以让 eval 返回上例中的 data.frame df 吗?

谢谢。

0 投票
0 回答
85 浏览

renjin - 仁进:打印“externalptr”

从 Java 代码中,我将一个 data.frame 推入 Renjin。此数据帧的第一个向量包含作为 ExternalPtr 的本机 Java 对象。一切正常,包括从 R 代码访问这些对象。尽管如此,我注意到使用 print() 函数打印这些对象(出于调试目的)并没有多大帮助。

正在打印类名和一种哈希码:

相似地

正在打印:

无论如何要调用#toString() 或任何其他Java 方法吗?

顺便说一句,我注意到打印整个数据框会引发异常:

有没有办法阻止这种情况?

0 投票
1 回答
144 浏览

r - FileReader 找不到 R 脚本

我尝试在 JavaFx 中运行我的 R 脚本。我为此目的使用 Renjin,它似乎与我在内部运行的语句一起正常工作。但我想运行一个外部 R 脚本。该项目是使用 Maven 设置的,因此路径应该很简单,因为 R 脚本位于资源文件夹中。该路径在我加载 FXML 文件时有效,所以我很困惑为什么它找不到我的脚本。

这是一个简短的示例:

有什么遗漏吗?提前致谢!

编辑1:

使用我的 FXML 文件,它可以与“/”路径一起使用,如下所示:

编辑2:

删除他的评论的人提出了这个:

如果脚本位于 pom.xml 文件所在的根目录中,则它可以工作。@James_D 使它工作,因此 R 脚本可以位于资源文件夹中 - 非常感谢!

0 投票
2 回答
122 浏览

r - 以逗号分隔的字符串形式返回一个数字

背景

由于Renjin 中的错误,该format函数族不可用,但sprintf可以工作。

代码

这是一个将数字转换为逗号分隔字符串的替换函数:

问题

在代码完成工作的同时,如何加快实现速度?也就是说,如何编写代码以使用 R 白话(使用format, formatC,prettyNum等)并且不损坏Renjin 包(即不依赖)?