我尝试RCaller 2.0
从Java调用R函数,经过几次尝试后,我设法使其工作。集成很简单,但是RCaller在运行时有点慢。我担心RCaller 2.0
不适合我的应用程序,因为我必须重复调用同一个脚本数千次,并且这个库引入的延迟对于我的需求是不可接受的。
是否有更快的(在运行时执行时间方面)从Java调用R脚本的替代方案?
Rcaller在2.1版本中有许多性能改进。它现在支持使用单个R进程在循环中向R传递命令。也就是说,在初始化过程之后没有更多的系统调用。
看一下RCaller源代码树中的测试文件:https://code.google.com/p/rcaller/source/browse/RCaller/src/test/java/rcaller/RunOnlineTest.java
该测试文件包含在单个R进程上运行的顺序命令。
有没有办法把一些迭代推到R中,这样你调用它的次数就会少得多?也许你可以传入一个数组的数据,与一个数组的脚本运行,在那里你现在传入一个接一个。
试试人金吧,至少看起来挺快的!