R из Java

Каков наилучший способ вызова функции R из Java?

Я ищу быстрый, простой и надежный способ сделать стандартные 2D-диаграммы и гистограммы в R, используя мои Java-приложения. Мне было интересно, какие пакеты / интерфейсы, возникшие в результате быстрого поиска Google, будут наиболее удобны в использовании.

Я с нетерпением жду ваших предложений!

4 Solutions collect form web for “R из Java”

Используйте JRI: http://www.rforge.net/JRI/ . Он поставляется в комплекте с rJava, включая некоторые примеры использования.

Очень простой пример:

import java.io.*; import java.awt.Frame; import java.util.Enumeration; import org.rosuda.JRI.Rengine; import org.rosuda.JRI.REXP; import org.rosuda.JRI.RVector; import org.rosuda.JRI.RMainLoopCallbacks; public class rJavaTest { public static void main(String[] args) { Rengine re=new Rengine(args, false, new TextConsole()); REXP x; re.eval("print(1:10/3)"); System.out.println(x=re.eval("iris")); RVector v = x.asVector(); if (v.getNames()!=null) { System.out.println("has names:"); for (Enumeration e = v.getNames().elements() ; e.hasMoreElements() ;) { System.out.println(e.nextElement()); } } if (true) { System.out.println("Now the console is yours ... have fun"); re.startMainLoop(); } else { re.end(); System.out.println("end"); } } } 

Есть что-то новое, называемое http://www.renjin.org/

Одна вещь, которая мне нравится в JRI – это развертывание. Хотя jri требовало, чтобы ваши приложения загружали R, renjin этого не делает, и он использует только JVM для запуска.

Я обнаружил, что форсирование R в качестве процесса, присоединение к streamам stdin, stdout и stderr процесса и отправка R-команд через входной stream, чтобы быть достаточно эффективными. Я использую файловую систему для связи между R и моим процессом Java. Таким образом, я могу иметь несколько процессов R, выполняющихся из разных streamов Java, и их среды не конфликтуют друг с другом.

Пакеты или библиотеки для R с Java

Вызов R из Java

  • RCaller
  • Rserve
  • ИСР
  • Rsession
  • Renjin

Вызовите Java из R

  • rJava
  • Передайте имя столбца data.frame в функцию
  • Удалите строки со всеми или некоторыми НС (отсутствующие значения) в data.frame
  • Переименовать несколько столбцов по именам
  • Создание категориальной переменной в R на основе диапазона
  • Как добавить разные линии для граней
  • Как эффективно внедряться в R
  • Ограничение диапазона переменных
  • Как назначить результат предыдущего выражения переменной?
  • Понимание функции order ()
  • вычислить среднее значение для каждого столбца матрицы в R
  • Как я могу подсчитать прогоны в последовательности?
  • Давайте будем гением компьютера.