从Java调用自定义R函数

时间:2014-05-16 13:39:04

标签: java r function-calls

我查看了rJava并在RCaller上查看了一个视频,但在所有示例中,我看到人们只调用本机R函数。我发现无法加载* .r文件并使用其内容。

主要问题是:如何在Java中集成自定义Rscript,以便我可以通过java调用我自定义的R函数?

我想要做的是创建一个简单的GUI,其中包含从文件夹,按钮加载的图像,并能够在单击时调用我的自定义R函数,并根据结果动态交换图像(逻辑将在R中)。

3 个答案:

答案 0 :(得分:2)

良好的做法是隐藏抽象背后的R代码,即接口。定义接口后,调用rJavax::setJavaImplementation()来定义实现接口的R引用类。

另一种解决方案(但不能直接回答您的问题)是使用例如用于在R中创建GUI的gWidgets包。这比使用Java / Swing尝试使用它要容易得多。

答案 1 :(得分:0)

你仍然可以使用R&#39的source()函数来使用RCaller来打开和读取外部R脚本并使用RCaller调用其内容。

答案 2 :(得分:0)

这似乎是一个老帖子。但是,一种解决方案是在Java代码中使用source('path of R script') R命令来导入用外部R脚本编写的功能。

还有一个关于R与Java集成的博客[http://www.codophile.com/how-to-integrate-r-with-java-using-rserve/][1] 它描述了标题为“用Java调用用户定义的R函数”标题下的过程