rjava是将R连接到Java的唯一方法吗?我问,因为网页末尾有免责声明:
此接口使用Java反射 API找到正确的方法,以便它 慢得多,可能不对 (适用于简单的例子,但可能不适用 对于更复杂的)。现在它 在程序中不鼓励使用它 可能会在未来发生变化。
这有点令人担忧。你是如何解决这个问题的?我知道Rweka有一个独立的界面,所以我可能会考虑那个包,但也许很多R用户已经经历过这些痛苦。
答案 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附带的文档,其中详细说明了编写新图书馆库的最佳实践。