我浏览了一些文档,但我不清楚是否可以在 RStudio 中使用 FastR/GraalVM 而不是默认的 GNU R 实现。
我的目标是以一种比当前使用 RJava 和一些包装函数调用 Java 代码的解决方案更友好的方式集成 R 代码和 Java 代码。
这是 GraalVM 宣传的优秀功能之一。例如,此处解释了 Java 和 R 代码(双向)的集成 https://medium.com/graalvm/enhance-your-java-spring-application-with-r-data-science-b669a8c28bea .
最佳答案
FastR 曾经与 RStudio 有原型(prototype)集成,我们计划在某个时候恢复它,但是,目前还没有具体的时间框架。
更新:FastR 与此配合良好 Visual Studio code plugin 。您只需将路径设置为 FastR 可执行文件而不是 GNU-R。
更多技术细节:RStudio(更准确地说是rserver)在嵌入模式下使用R,FastR 1 支持该模式。 [2],但自从我们在 2016 年制作原型(prototype)以来,尚未使用 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] native 端:https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.native/fficall/src/truffle_nfi/Rembedded.c#L262
关于java - 是否可以直接从 RStudio 使用 GraalVM/FastR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50326129/