【发布时间】:2010-02-19 13:50:30
【问题描述】:
是否有 Java 或 .NET 版本的 R? (例如用于 Python 语言的 Jython / IronPython)
我猜一些使用 C 或 Fortran 的 R-packages 可能无法在 Java/.NET 版本的 R 上运行,但只要可以运行纯 R 代码,它一定很棒。
【问题讨论】:
是否有 Java 或 .NET 版本的 R? (例如用于 Python 语言的 Jython / IronPython)
我猜一些使用 C 或 Fortran 的 R-packages 可能无法在 Java/.NET 版本的 R 上运行,但只要可以运行纯 R 代码,它一定很棒。
【问题讨论】:
正如另一个答案中提到的,现在有一个 R 的纯 Java 实现:http://code.google.com/p/renjin。令人兴奋的发展,并期待看到它如何发展。
之前的答案如下:
Bill 是正确的:在 JVM 或 CLR 上都没有纯 R 语言(或 S 语言)实现,所以您能做的最好的事情就是通过 C 使用某种接口。
JRI 允许您从任何 Java 程序调用 R,因此 JVM 上的任何语言都应该能够调用 JRI jar。请参阅我在此问题中如何使用它的示例:R from within Java。例如,Joel Boehland:Rincanter (read about it here) 目前正在围绕 JRI 开发一个 clojure 库。
【讨论】:
Renjin 是 R 语言的纯 JVM 实现。 它正在开发中,尚未准备好生产,但正在取得良好进展。
【讨论】:
如果您需要纯 JVM 上的统计信息,您可以尝试 Incanter (www.incanter.org)。它是一个类似于 R 的 Clojure 库,它为 JVM 带来了 lispy 函数式编程。它看起来是一个非常酷的初创公司,具有一定的潜力。他们的 google 群组中已经有一个非常活跃的用户社区。p>
【讨论】:
我知道有 2 个。
https://github.com/bedatadriven/renjin-仁进
还有……
https://github.com/allr/purdue-fastr - FastR
https://bitbucket.org/allr/fastr - FastR
【讨论】:
FastR 是基于GraalVM 的 R 实现。它可以在任何 JVM 上运行,但使用 GraalVM,您可以通过 Graal 编译器和 Truffle 框架获得额外的性能。
除了运行现有的 R 脚本之外,它还具有一些附加功能 w.r.t.可嵌入 JVM 应用程序以及与 JVM 和其他 GraalVM 语言(包括 JavaScript、Ruby、Python 3)的互操作性。
更多详情https://medium.com/graalvm/faster-r-with-fastr-4b8db0e0dceb
【讨论】: