是否有Java或.NET的R实现?

时间:2010-02-19 13:50:31

标签: java .net r

是否有R或Java版本? (比如用于Python语言的Jython / IronPython)

我猜一些使用C或Fortran的R-package可能无法在R的Java / .NET版本上运行,但只要可以运行纯R代码,它就必须很棒。

5 个答案:

答案 0 :(得分:15)

正如在另一个答案中所提到的,现在有一个纯粹的Java实现R:http://code.google.com/p/renjin。令人兴奋的发展,并期待看到它如何演变。

以下的回答:

Bill是正确的:JVM或CLR上没有R langauge(或S语言)的纯实现,所以你能做的最好就是通过C使用某种接口。

JRI允许您从任何Java程序调用R,因此JVM上的任何语言都应该能够调用JRI jar。请参阅我在此问题中如何使用此示例的示例:R from within Java。例如,有一个clojure库,目前正在Joel Boehland围绕JRI开发:Rincanterread about it here)。

答案 1 :(得分:14)

Renjin是R语言的纯JVM实现。 它正在开发中,并没有准备就绪,但取得了良好的进展。

http://code.google.com/p/renjin

答案 2 :(得分:5)

如果您需要纯JVM上的统计信息,可以尝试Incanter(www.incanter.org)。它是Clojure的类似R的库,它为LVM带来了lispy函数式编程。它看起来像一个非常酷的初创企业,具有一定的潜力。他们的Google群组中已经拥有一个非常活跃的用户社区。

答案 3 :(得分:1)

答案 4 :(得分:1)

FastR是R的基于GraalVM的实现。它可以在任何JVM上运行,但是使用GraalVM可以通过Graal编译器和Truffle框架获得额外的性能。

除了运行现有的R脚本外,它还具有一些其他功能。可以在JVM应用程序中嵌入,并且可以与JVM和其他GraalVM语言(包括JavaScript,Ruby,Python 3)互操作。

https://medium.com/graalvm/faster-r-with-fastr-4b8db0e0dceb

中的更多详细信息