2014-03-31 73 views
1

我對R語言沒有經驗。我得到了一些我的網頁可以運行的R腳本。我正在開發一個Web應用程序,用戶上傳文件並將文件內容保存在數據庫中,並使用患者姓名和年份生成基本散點圖(使用php和d3)。該應用程序將讓用戶選擇散點圖的任何「點」進行詳細分析。當用戶進行選擇時,應用程序應該從數據庫中獲取所有字段的相應行並將其寫入csv文件中。然後將此csv文件提供給格式轉換R腳本以生成'new_format.csv'。格式轉換後,new_format.csv必須轉到另一個執行主計算並將結果存儲在Rdata文件中的R腳本。如何從HTML網頁運行R腳本

如何從我的網頁運行R腳本?我在哪裏保存/存儲計算過程中產生的兩個中間csv文件,以及如何向前饋送它們?我如何從Rdata文件獲取結果並將它們保存在數據庫中或使用它們繪製一些圖?

因爲這些R腳本正在提供給我,所以我不允許改變它們。是的,R腳本設計爲讀取csv文件,這就是爲什麼我要將選定的數據庫行轉換爲csv文件的原因。

在此先感謝!

+0

如何使用[Rscript](http://stat.ethz.ch/R-manual/R-devel/library/utils/html/Rscript.html)? – tonytonov

+0

你有沒有看過[clickme](https://github.com/nachocab/clickme)。這聽起來像是它適合的東西。話雖如此,從你所描述的那裏來看,還有很多工作要做。我讀到你的問題的方式是,將有一個應用程序坐在用戶上傳文件的服務器上。然後該文件被傳遞給服務器端的R。 R做了一些魔術,然後向瀏覽器提供一個csv文件。 RockScience建議我會看Shiny和RStudio。 – user1614080

回答

1

您可以使用在http://www.rstudio.com/shiny/

+0

R腳本只是做了計算,我想用d3js來繪製這些計算結果。我不確定如何使用rstudio來做到這一點。 – user2398101

+0

也許你應該在我寄給你的網頁上閱讀一些內容。這是關於閃亮的,而不是Rstudio。 – RockScience

+0

也可以使用[RStudio Server](https://www.rstudio.com/ide/server/)。 – user1614080

3

這聽起來像你問怎麼做後端的數據處理開始有R腳本的Web服務器。如果您的服務器上安裝了R,則可以使用PHP運行命令以使用shell_exec()函數執行R腳本。要執行的R腳本的命令如下所示:

R CMD BATCH "--args 'dataPath/input.dat'" script.R 

這將產生與輸出script.Rout文件,也可以具有R腳本內部輸出和結果的文件。將R腳本將需要使用下面的函數內部通過命令行獲取輸入數據文件名:

dataFileName <- commandArgs(TRUE) 

話雖這麼說,這可以使用專門的基礎設施來實現更快的諸如FastRWeb。其他建議請參閱How to set up an R based service on a web page

+0

感謝您的幫助:) – user2398101