2013-04-15 2 views
4

Я пытаюсь передать двойной массив в R, суммировать его значения и вернуть его в Java. Вот то, что я пытаюсь сделать в Java:Работа между Java и R

import org.rosuda.JRI.REXP; 
import org.rosuda.JRI.Rengine; 

// Start R session. 
Rengine re = new Rengine (new String [] {"--vanilla"}, false, null); 

// Check if the session is working. 
if (!re.waitForR()) { 
    return; 
} 

re.assign("x", new double[] {1.5, 2.5, 3.5}); 
REXP result = re.eval("(sum(x))"); 
System.out.println(result.asDouble()); 
re.end(); 

Однако я получаю ошибки: импорт org.rosuda.JRI.REXP не может быть разрешен импорт org.rosuda.JRI.Rengine не может быть решена Rengine не может быть разрешен к типу

Это даже в том случае, если для импорта я делаю:

import java.lang.Object.org.rosuda.JRI.REXP; 
import java.lang.Object.org.rosuda.JRI.Rengine; 

Любые советы? Спасибо!!

ответ

0

Ваш импорт должен быть:

import org.rosuda.JRI.REXP; 
import org.rosuda.JRI.Rengine; 

добавляющим java.lang.Object перед ними создает мусор. Чтобы устранить ошибки компиляции, вы получаете указание включить (правильную версию) JRI-x-.x-x.jar в свой путь к классам сборки. Например.

javac -cp ".:/some/path/to/JRI-0.8-4.jar" *.java 

Если вы используете IDE, включите JAR в путь построения проектов. Например, используя Eclipse, вы добавили JAR в (обычный проект), щелкнув правой кнопкой мыши проект, затем перейдя в Properties-> Java Build Path-> Add External JAR, выбрав и выбрав JAR, а затем нажав OK из все диалоговые окна. Ваш импорт должен затем решить чисто:

Eclipse Project with JRI Library on Build Path

Обратите внимание, что ИСР-0.8-4.jar показывает под ссылочных библиотек, для проекта

+0

У меня действительно мало опыта с этим. Я даже не уверен, что вы подразумеваете под «classpath». Кстати, я использую Mac. Я раньше не использовал JRI, мне было рекомендовано, и все, что я сделал, набрало эти две строки в верхней части моей программы. Извините, я не понимаю ...: o ( – LanneR

+0

Вам нужно начать с начала. С помощью [основного учебника Java] (http://docs.oracle.com/javase/tutorial/getStarted/). на [здесь] (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html) для получения информации о настройке путей к классам для запуска вашей программы. – Perception

+0

Для пути к классам вы просто имеете в виду путь к файлу .src кода JAVA, для которого я хочу иметь этот плагин? Я не слишком хорош в работе с терминалом. Если я загрузил файл jar RJavaPlugin ****., есть ли способ вручную может убедиться, что Eclipse имеет к нему доступ к этому плагину? Еще раз спасибо ... – LanneR

0

Как я уже говорил в your previous question, я очень рекомендую вы (или кто-либо, посетивший этот поток в будущем), чтобы использовать this plugin для настройки JRI в Eclipse. Он делает все для вас. На странице, с которой я связан, вы можете пройти через этот процесс.

Смежные вопросы