来自java的R没有图形:是否值得转移到JRI

时间:2010-03-26 19:53:17

标签: java r jri

我有一个系统设置,很高兴从java servlet运行R,产生处理过的&挂进进程的stdin,stdout和stderr流,就像在第二个this question中一样。

系统升级(包括glibc)后,输入不再到达R进程。*

到现在为止,'R --vanilla --slave -f [file] ......'对我来说很好。我现在也没有swing依赖,所以我有点不愿意添加它们。 (我可能实际上不能添加swing依赖项;我是否正确使用REngine自动引入swing?示例导入所有swing。)

切换到JRI有什么好处?我需要对R脚本做出哪些更改? (它目前从stdin读取并写入stdout)。我没有找到提供的示例,非常有助于在这种情况下如何使用JRI。

感谢您的帮助&评价。

*我甚至无法判断问题是数据写得太快还是太晚,但这是一个单独的问题/问题;如果我搬到JRI,我希望这一切都变得毫无意义。

1 个答案:

答案 0 :(得分:2)

我的两分钱:

我发现与JRI合作是直截了当的。 JRI提供了几个示例,可以很好地演示如何使用它。

通常,您不必对脚本进行任何重大更改,因为您只需将整个脚本作为带有eval()函数的表达式传递,然后处理返回值。我认为它的主要优点是您可以在Java代码中处理R进程,因此您可以正常地处理异常,而无需进行任何系统调用。 JRI还在Java中提供了一些R数据类型等价物,例如RVector