我有一个Java应用程序,需要执行偏最小二乘回归(PLSR)。似乎没有Java实现的PLSR。Weka可能曾经有过类似的功能,但现在已不在API中。另一方面,我找到了一个不错的R实现,并且还有额外的好处。使用这个实现的人正是我想要复制的研究结果的作者,这意味着由于PLSR实现方式的差异而导致问题的可能性较小。
问题是:有没有一个足够好且易于使用的包,可以让Java调用R,传递一些参数给函数并读取结果?我的另一个选择是让Java启动一个R进程,然后监控它。数据将通过磁盘读写。您推荐哪种方法?我是否忽略了明显的第三种选择?
回答:
我过去成功使用过两种替代方案。
- 优点:可能有更好的性能。
- 缺点:需要配置一些环境变量和库,在Windows和UNIX上有所不同。
- 优点:易于设置,不需要初始化R或链接到任何R库,可以在不同的机器上运行。
- 缺点:基于TCP/IP(运行一个服务器),不能从R进行回调。
其他我从未使用过的替代方案:RCaller