2015-05-26 5 views
3

В моем проекте java мне нужно вычислить доверительный интервал, который слишком сложно написать код сам. Поэтому я решил использовать метод в статистике R и передать результат вычисления в проект java. Чтобы сделать это, я выбираю ИСР и в моем файле .java, я импортировать Rengine и Rexp:Как импортировать библиотеку R при использовании JRI в java Eclipse?

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

Теперь, вот проблема. Я хочу, чтобы импортировать «stats4» библиотеку, так что я могу использовать функцию mle(), и я пишу следующий код в моем файле .java:

Rengine re = new Rengine(new String [] {"--vanilla"}, false, null); 
re.eval("library(stats4)"); 

Однако, я считаю, что stats4 никогда не был импортирован! На самом деле, когда мы импортируем эту библиотеку на языке R, можно записать в следующем виде:

library("stats4") 

Так как я новичок использовать ИСР в Java, я не знаю, как это исправить.

+0

Не могли бы вы дать нам вывод следующего утверждения: System.out.println («R_HOME =» + System.getenv («R_HOME»)) –

ответ

1

Пожалуйста, введите это в код Java:

System.out.println("R_HOME =" + System.getenv("R_HOME")); 
    String path =System.getenv("R_HOME") + "\\library" ; 
    File folder = new File(path); 
    File[] listOfFiles = folder.listFiles(); 

    for (int i = 0; i < listOfFiles.length; i++) { 
     if (listOfFiles[i].isFile()) { 
     System.out.println("File " + listOfFiles[i].getName()); 
     } else if (listOfFiles[i].isDirectory()) { 
     System.out.println("Directory " + listOfFiles[i].getName()); 
     } 
    } 

Его список пакетов, которые будут установлены в вашей библиотеке папку версии R, который интегрирован в приложение Java (вы можете иметь несколько версий R установлены в вашем компьютере), посмотрите на результат и посмотрите, можете ли вы найти «stats4» в этом списке, если не тогда, пожалуйста, установите эту библиотеку в правильной версии r, то есть в этой папке, или просто измените настройку JRI на другую версия. например, здесь есть выход из моей библиотеки установки:

R_HOME =C:\Program Files\R\R-2.15.3 
Directory abind 
    Directory amap 
    Directory animation 
    .......... 

    Directory stats4 
    Directory stringr 


    ...... 

, что означает, что я установить его в R версии 2.15.3 (да его старый :(), который является версией, что связано с моими приложениями ИСР, так что для меня это будет работать.

+0

Большое спасибо! Я решил эту проблему. Как вы говорите, я не установил правильный путь. После того, как я сброшу свой R_HOME, все в порядке :) PS Должен ли я редактировать свой вопрос и публиковать ответ на него? – LittleYUYU

+0

Я думаю, что это достаточно хорошо :) –

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