Я создал свою собственную новую библиотеку R (называемую «Media»). Нет проблем, когда я пытаюсь загрузить его с помощью RGui, и я могу вызвать функции, определенные в новом пакете. Вот как я его загружаю:
> library(Media)
Но я также пытаюсь вызвать эти функции из Java / JRI кода, и когда я загружаю новый пакет R, Java, кажется, не находит пакет, выдавая сообщение "Ошибка в библиотеке (Media): объект 'Media' не найден "
Это мой текущий код с использованием JRI:
REXP rexpSetFolder = re.eval("setwd('C:/Users/Albert/Documents')");
REXP rexpFolder = re.eval("getwd()");
System.out.println(rexpFolder.asString());
REXP rexpLoad = re.eval("library(Media)"); // fails
Также происходит сбой без команды setwd, и простые вызовы существующих функций R работают нормально. Я использую R 2.10 и последнюю версию JRI 0.5-0 под Windows.
Любая помощь будет оценена.
Большое спасибо.
Edit:
Параметр lib.loc
, кажется, работает, по крайней мере, это предложение не возвращает ошибку:
library("Media", lib.loc = "c:/Users/Albert/Documents")
Но после этого вызывать функцию в пакете с re.eval("myfunction()");
все равно не удается, так как функция не найдена должным образом.