Мы работаем над сложным статистическим проектом на Java
. Мы выполнили оригинальный код на языке программирования R > . Есть ли способ конвертировать этот код в код Java
(конвертер) или иначе как мы можем использовать R
в проекте Java
?
Использование R-программирования в java
Ответ 1
Пока я не знаю о "конвертере", существует интерфейс rJava, который позволит вам запускать R-код непосредственно с Java.
rJava - это простой интерфейс R-to-Java. Это сопоставимо с .C/.Call C интерфейс. rJava обеспечивает низкий уровень мост между R и Java (через JNI). Он позволяет создавать объекты, вызывать методы и поля доступа Java объекты из R.
В некотором смысле обратный к rJava - JRI (Интерфейс Java/R), который обеспечивает противоположное направление - вызов R из Ява. JRI теперь отправляется как часть пакет rJava, хотя он все еще может использоваться как отдельный объект (особенно для развития). В настоящее время rJava используется как часть JGR, iPlots и JavaGD программное обеспечение/пакеты.
Ответ 2
Вы можете попробовать Renjin (http://www.renjin.org):
"Renjin - это интерпретатор на основе JVM для языка R для статистических вычислений. Этот проект является инициативой BeDataDriven, компании, предоставляющей консалтинг в области аналитики и поддержки принятия решений".
Ответ 3
Как сказал @Seidr, используя rJava, мы можем запускать R-код непосредственно из Java-методов. Шаг 1. Откройте консоль R и установите пакет rJava.
>install.packages("rJava")
Теперь вы найдете rJava в " R home\library"
Шаг 2. Теперь в eclipse добавьте JRI.jar, JRIEngine.jar, REngine.jar для создания пути построения проекта. Эти банки доступны в разделе " R home\library\rJava\jri"
Шаг 3: Создайте объект Rengine.
Шаг 4. Теперь создайте два вектора, добавьте их и сохраните в другой переменной. Теперь напечатайте эту переменную результата в консоли.
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"));
Надежность ниже ссылки помогает (пошаговая процедура для интеграции R в Java).
http://www.codophile.com/how-to-integrate-r-with-java-using-rjava/