我浏览了一些文档,但是我不清楚是否可以在RStudio中使用FastR / GraalVM代替默认的GNU R实现。
我的目标是以比当前使用RJava和一些包装函数调用Java代码的解决方案更为友好的方式集成R代码和Java代码。
这是GraalVM宣传的不错的功能之一。此处以https://medium.com/graalvm/enhance-your-java-spring-application-with-r-data-science-b669a8c28bea为例说明了Java和R代码的集成(双向)。
最佳答案
FastR曾经与RStudio进行原型集成,我们计划在某个时候恢复它,但是目前还没有具体的时间表。
更新:FastR与此Visual Studio code plugin一起很好地工作。您只需要将路径设置为FastR可执行文件而不是GNU-R。
更多技术细节:RStudio(更精确地说是服务器)在嵌入式模式下使用R,FastR 1 [2]支持RStudio,但是自从我们在2016年制作原型以来,尚未经过RStudio的测试。此外,RStudio使用R API直接访问R的执行上下文,对于FastR来说很难模拟,因为它只是C全局变量。 FastR提供了用于访问执行上下文的功能[3] [4],并且需要对RStudio进行修补以使用这些功能。
1 https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.native/fficall/src/truffle_nfi/Rembedded.c
[2]个测试:https://github.com/oracle/fastr/tree/master/com.oracle.truffle.r.test.native/embedded
[3]本机面:https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.native/fficall/src/truffle_nfi/Rembedded.c#L262
[4] Java端:https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/upcalls/IDEUpCallsRFFI.java