2013-10-01 43 views
0

我想創建一個java小程序,它接收各種文件並對它們運行統計測試。用戶將選擇一個文件並按下相應的按鈕進行統計測試。所有的統計測試都將在R中編碼。有沒有辦法「橋接」R和Java?有沒有辦法在Java applet中使用R?

+1

你可以在任何* Java應用程序中運行R腳本(代碼..whatever)。如果是這樣,則可能可以在applet中運行它們。重新使用桌面應用程序applet本身。使用[JWS](http://stackoverflow.com/tags/java-web-start/info)啓動將更易於部署,並提供更好的用戶體驗。 –

回答

0

您正在尋找的功能類型在R中很容易找到。由RStudio創建的Shiny package完全符合您的需求:爲R提供Web界面,包括簡單的GUI元素。使用Shiny的優勢在於它能夠處理所有細節,讓您專注於分析。它從字面上花了我2個小時來安裝Shiny並創建我的第一個Web應用程序。

聲明:我沒有任何與RStudio的關係,我只是一個快樂的用戶:)。

0

有沒有辦法「橋接」R和Java?

當然有。您可以使用JRI

這裏是一個JRI爪哇與我在一個previous answer條件是R的例子(通過雙陣列和具有R-總和它):

// 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(); 

上面基本上是R中這樣做的當量:

x <- c(1.5, 2.5, 3.5) 
sum(x) 

注:如果您使用Eclipse和JRI,我強烈建議使用this plugin進行設置。


或者,您只需創建使用RScript.exe從Java執行的R腳本。例如:

Rscript my_script.R 

您將在互聯網上找到大量有關如何從Java執行命令行命令的信息。我不太瞭解它給你一個例子。

相關問題