2010-10-27 14 views
20

Wir arbeiten an einem komplexen statistischen Projekt unter Java. Wir haben den ursprünglichen Code in der R programming language gemacht. Gibt es eine Möglichkeit, diesen Code zu konvertieren Java Code (Konverter) oder anders wie können wir R in einem Java Projekt verwenden?mit R-Programmierung in Java

Antwort

22

Während mir ein "Konverter" nicht bekannt ist, gibt es eine Schnittstelle namens rJava, mit der Sie R-Code direkt aus Java ausführen können.

http://www.rforge.net/rJava/

rjava ist eine einfache R-to-Java-Schnittstelle. Es ist vergleichbar mit der .C/.Call C Schnittstelle. rJava bietet eine Low-Level- Brücke zwischen R und Java (über JNI). Es ermöglicht es, Objekte zu erstellen, rufen Sie Methoden und Zugang Bereiche Java Objekte von R.

In gewissem Sinne die Umkehrung von rjava JRI ist (Java/R-Schnittstelle), die die entgegengesetzte Richtung liefert - Aufruf R aus Java. JRI wird jetzt als Teil von dem rJava-Paket ausgeliefert, obwohl es immer noch als separate Einheit (speziell für die Entwicklung) verwendet werden kann. Derzeit wird rJava als Teil von JGR, iPlots und JavaGD Software/Pakete verwendet.

10

Sie können Renjin versuchen (http://www.renjin.org).

„Renjin ein JVM-basierten Interpreter für die R Sprache für statistische Berechnungen Dieses Projekt ist eine Initiative von BeDataDriven, ein Unternehmen, die Beratung in der Analytik und Entscheidungs Unterstützungssysteme. "

+0

Forecast Paket funktioniert nicht –

0

Wie @Seidr sagte, können wir mithilfe von rJava R-Code direkt aus Java-Methoden ausführen.

  1. Öffnen R Konsole und installieren rjava Paket

    install.packages("rJava") 
    

    Jetzt werden Sie rjava in "R home \ Bibliothek"

  2. Jetzt in Eclipse finden, fügen JRI.jar, JRIEngine.jar, REngine.jar Projektpfad erstellen. Diese Gefäße sind unter "R home \ library \ rJava \ jri"

  3. Erstellen eines Rengine-Objekts verfügbar.
  4. Erstellen Sie nun zwei Vektoren, fügen Sie sie hinzu und speichern Sie sie in einer anderen Variablen. Drucken Sie diese Ergebnisvariable jetzt in der Konsole.

    Rengine engine = new Rengine(new String[]{"--no-save"},false,null); 
    String aVector = "c(1,2,3)"; 
    String bVector = "c(4,5,6)"; 
    engine.eval("a<-"+aVector); 
    engine.eval("b<-"+bVector); 
    engine.eval("c<-a+b"); 
    
    System.out.println("Sum of two vectors : c = "+engine.eval("c")); 
    

Hoffnung Link unten hilft (Schritt-für-Schritt-Verfahren R in Java zu integrieren).

http://www.codophile.com/how-to-integrate-r-with-java-using-rjava/

+1

Willkommen bei SO.Bitte beachten Sie, dass das Wiederholen von Antworten, die früher gegeben wurden, und von "nur Link" -Antworten generell verpönt sind. Geben Sie nicht nur den Link ein, sondern fassen Sie die Schritte in Ihrer Antwort zusammen und beziehen Sie sich auf den Link zur ursprünglichen Quelle. Auf diese Weise wird die Antwort nicht ungültig, wenn die Verknüpfung verschwindet. Außerdem: Dieses Tutorial ist unvollständig (wie in den Kommentaren zu diesem Blog erklärt). –