将R连接到Java

时间:2009-09-16 14:55:19

标签: java r

rjava是将R连接到Java的唯一方法吗?我问,因为网页末尾有免责声明:

  

此接口使用Java反射   API找到正确的方法,以便它   慢得多,可能不对   (适用于简单的例子,但可能不适用   对于更复杂的)。现在它   在程序中不鼓励使用它   可能会在未来发生变化。

这有点令人担忧。你是如何解决这个问题的?我知道Rweka有一个独立的界面,所以我可能会考虑那个包,但也许很多R用户已经经历过这些痛苦。

3 个答案:

答案 0 :(得分:7)

这不是唯一,因为Omegahat项目也有RSJava包。但是,正如许多其他来自Omegahat(实际上只是Duncan Temple Lang)的精彩创新,这个创新可能不容易或不可靠。

另一方面,rJava包被近三十个其他包使用

  

CADStat,容器,Deducer,JGR,   RFreak,RImageJ,RJDBC,RLadyBug,   aCGH.Spline,ant,arulesNBMiner,   colbycol,cshapes,dynGraph,farmR,   gWidgetsrJava,glmulti,   helloJavaWorld,iplots,rSymPy,rcdk,   rcdklibs,scagnostics,spcosa,RKEA,   RWeka,Snowball,openNLP,wordnet

我认为非常认可。

答案 1 :(得分:6)

我认为免责声明仅适用于使用$运算符访问java对象的情况。只要您坚持.jcall功能,就不会产生开销。

在使用rJava的经验方面,我发现它的工作原理与广告一样,对于我的包(farmR),它没有引起任何性能问题。虽然我没有对java进行大量调用,但我没有使用任何java GUI工具包。

答案 2 :(得分:1)

我是Rweka的用户,我可以告诉你它非常快,在r环境中使用它的功能时,它优于weka。我认为R包有一种非常特殊的方式来集成java语言的语言,但是这些库需要准备好允许这样做。为了能够进行适当的整合,您需要进行大量的研究,以便了解如何使事情适当。我建议您阅读R附带的文档,其中详细说明了编写新图书馆库的最佳实践。