如何讓R語言寫出來的程序生成一個獨立的可執行文件?
01-06
比如我想讓不懂R語言的人利用我用R寫的程序,對方只需要輸入幾個簡單的初始變數即可,並沒有必要安裝整個R的環境,該如何操作?
Shiny 很符合你所敘述的要求,它是由 RStudio 公司開發的一個針對 R 的互動式 web 應用。不需要了解許多 HTML, CSS, JavaScript 方面的知識,一點點極為基礎的就好,就可以把自己的R 腳本變成一個 web 上的應用。比如你寫了一個預測感冒的演算法,通過 shiny 放到了 web 上,別的用戶就可以上傳他們自己的數據,來預測感冒或類似的疾病。官網上有很多簡單的例子,樣子大概是這樣的。
另外提一下 OpenCPU,同樣能實現上述功能,不過更加靈活,但對 web programming 的要求就要高一些。
coursera 上的一門 data product 的課程詳細介紹了shiny 和 yhat 還有一些其它的東西。建議用shiny放在雲端,否則目前沒有比較好的辦法。
在 Linux 或者 OSX 環境下可以使用 Rscript 完成:
先在終端輸入$ which Rscript
/usr/bin/Rscript
來查看你的 Rscript 在哪個位置
然後打開一個文本文檔, 輸入:#!/usr/bin/Rscript
text &<- commandArgs(T)
cat(text, sep = "
")
存為 rMyEcho.R 然後再在終端 cd 到這個文件的目錄下並 chmod 就可以運行, 這個程序是一個簡單的 echo 程序, 沒有什麼技術性
$ chmod u+x rMyEcho.R
$ ./rMyEcho.R Hi!
Hi!
使用Shiny現在有一個問題,我想通過Shiny構建Restful-API,來取代Django的方式。貌似現在還沒有太多案例啊。
Rstudio+Github+Shiny
設定好工作目錄library(shiny)runApp()
推薦閱讀:
※python 可不可以像R那樣保存內存中的變數?
※當下對於量化投資有用的R語言包有哪些?
※Python 在數據分析工作中的地位與 R 語言、SAS、SPSS 比較如何?
※時間序列建模問題,如何準確的建立時間序列模型?
※面對有大量缺失值的數據應該怎樣處理比較合理?