Интерфейс Java/R (JRI)

Я хочу вызвать некоторый код R из Java на компьютере с Linux, на котором уже установлен R, поэтому необходим интерфейс Java/R (JRI).

Однако я не уверен, как это сделать.

На домашней странице JRI указано, что пакет включен в rJava. Итак, я скачал rJava-0.9.3.tar.gz из файлов rJava. раздел и разархивировал его, получив (среди прочего) множество исходных файлов Java (и соответствующих им классов) в папке src/java, а также 2 JAR-файла (JRIEngine.jar и REngine.jar) в папке inst/jri.

Раздел JRI Files, помимо двух вышеупомянутых JAR, также содержит JRI.jar. и все три из этих библиотек более новые, чем 2 в inst/jri.

Кроме того, ни один из этих трех JAR-файлов не содержит двоичных файлов для классов, найденных в src/java, которые необходимы для вызова R из Java.

Запуск «make all» в папке java/src, по-видимому, просто выполняет некоторые тесты, и JAR не создается.

Я ожидаю, что все необходимые классы будут упакованы в файлы JAR, чтобы их можно было легко добавить в путь к классам и в проекты IDE (например, в Eclipse).

Как я могу добраться до этой точки?


person PNS    schedule 29.02.2012    source источник


Ответы (1)


Используйте install.packages("rJava") в R — это установит rJava, который включает JRI. Вы получите тот же эффект, используя R CMD INSTALL rJava_0.9-3.tar.gz. Оба являются задокументированными способами установки пакетов R. Убедитесь, что у вас уже установлен JDK и настроен R с поддержкой Java. После установки вы можете спросить R о местонахождении JRI с помощью system.file("jri",package="rJava")

Обратите внимание, что для использования JRI вам необходимо правильно настроить среду (обычно с помощью R CMD) и установить java.library.path, чтобы включить местоположение JRI. Вы можете просмотреть список рассылки stats-rosuda-devel, который является каноническим местом, где можно задать вопросы о rJava/JRI.

person Simon Urbanek    schedule 01.03.2012
comment
Спасибо за ответ. Я читал о команде install.packages(), но был озадачен тем, как заставить результат работать с Eclipse. Теперь я запустил его и добавил пользовательскую библиотеку в Eclipse, которая указывает на 3 установленных файла JAR. Учитывая, что Eclipse заботится об объявлениях путей, связанных с Java, должно ли это работать из коробки? - person PNS; 01.03.2012
comment
Нет, одних файлов JAR недостаточно — вы должны убедиться, что у вас есть java.library.path установка для поиска динамической библиотеки JRI, а также установить переменные среды, необходимые для R, такие как R_HOME. Я не использую Eclipse, поэтому не знаю, как он обрабатывает эти настройки. Вы можете ознакомиться со сценарием run и примерами JRI. - person Simon Urbanek; 01.03.2012
comment
Конечно. R_HOME можно установить в Project > Preferences > Run/Debug Settings, тогда как для ld.library.paht можно отредактировать настройку собственной библиотеки в каждом из 3 JAR-файлов JRI (согласно этому сообщению StackOverflow: stackoverflow.com/questions/ 957700/). - person PNS; 02.03.2012
comment
Два полезных сообщения о настройке rJava и JRI в Eclipse: .com/questions/3311940/ и binfalse.de/2011 /02/разговоры-р-через-java - person PNS; 02.03.2012