2009-09-16 5 views
7

Ist rjava die einzige Möglichkeit, R mit Java zu verbinden? Ich frage, weil es einen Hinweis am Ende der Webseite ist:R an Java anbinden

Diese Schnittstelle verwendet Java Reflexion API die richtige Methode zu finden, damit es viel langsamer ist und nicht richtig sein kann (für einfache Arbeiten Beispiele, aber möglicherweise nicht für komplexere). Für jetzt ist es Verwendung in Programmen wie es in der Zukunft ändern kann abgeraten.

Dies ist ein wenig beunruhigend. Wie adressieren Sie dieses Problem? Ich weiß, dass Rweka eine in sich geschlossene Schnittstelle hat, also kann ich in dieses Paket schauen, aber vielleicht haben schon viele R-Benutzer die Schmerzen durchgemacht.

Antwort

6

Ich denke, dass Disclaimer nur gilt, wenn Sie den $ -Operator verwenden, um auf Ihre Java-Objekte zuzugreifen. Solange Sie bei der .jcall-Funktion bleiben, entstehen Ihnen keine zusätzlichen Kosten.

In Bezug auf die Erfahrung mit rJava, habe ich festgestellt, es funktioniert genau wie angekündigt und für mein Paket (FarmR) hat es keine Leistungsprobleme verursacht. Ich mache jedoch nicht viele Anrufe in Java, und ich habe keines der Java-GUI-Toolkits verwendet.

7

Es ist nicht das nur eins wie das Omegahat Projekt hat auch das RSJava Paket. Aber wie viele der anderen brillanten Innovationen von OmegaHat (die praktisch nur Duncan Temple Lang ist), kann dieser nicht so einfach oder zuverlässig bauen.

Das rJava Paket auf der anderen Seite um fast dreißig anderen Paketen verwendet wird

CADStat, Container, Deducer, JGR, RFreak, RImageJ, RJDBC, RLadyBug, aCGH.Spline, Ameise, arulesNBMiner, colbycol, cshapes, DynGraph, farmR, gWidgetsrJava, glmulti, helloJavaWorld, iplots, rSymPy, rcdk, rcdklibs, scagnostics, spcosa, RKEA, RWeka, Schneeball, openNLP, wordnet

was ich als recht die Bestätigung nehme.

+2

Vielleicht OT (ziemlich sicher), aber ich empfehle sowohl neuen als auch erfahrenen R-Benutzern einen Blick auf die Website des OmegaHat-Projekts. Die gesamte R-Community muss Duncan Temple Lang für diese unschätzbare Ressource danken (XML, RCurl-Pakete sind meine Favoriten). – Paolo

1

Ich bin ein Benutzer von Rweka, und ich kann Ihnen sagen, dass es erstaunlich schnell ist, es übertrifft weka allein, während es seine Funktionen in der r-Umgebung verwendet. Ich denke, dass das R-Paket eine ganz besondere Art hat, in die Java-Bibliotheken der Sprache zu integrieren, trotzdem müssen diese Bibliotheken dafür vorbereitet sein. Um eine richtige Integration zu ermöglichen, müssen Sie eine Menge Forschung betreiben, um zu sehen, wie die Dinge richtig zusammenpassen. Ich empfehle Ihnen, die mit R mitgelieferte Dokumentation zu lesen, in der Sie erfahren, welche Best Practices zum Schreiben von Bibliotheken für NEUE BIBLIOTHEKEN gelten.