閱讀181 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何用 R 語言的 Shiny 庫編寫 web 程序

Shiny 是一個來自 RStudio 的工具包,它讓創建 web 程序變得更容易。它能從 R 控製台輕鬆安裝,隻需要一行,就可以加載好最新的穩定版本來使用。這裏有一個很棒的教程,它可以在前麵課程基礎上,帶著你理解應用架設的概念。 Shiny 的授權是 GPLv3,源代碼可以在 GitHub 上獲得。

這是一個用 Shiny 寫的簡單的小 web 程序:


  1. library(shiny)
  2. server <- function(input, output, session) {
  3. observe({
  4. myText <- paste("Value above is: ", input$textIn)
  5. updateTextInput(session, "textOut", value=myText)
  6. })
  7. }
  8. ui <- basicPage(
  9. h3("My very own sample application!"),
  10. textInput("textIn", "Input goes here, please."),
  11. textInput("textOut", "Results will be printed in this box")
  12. )
  13. shinyApp(ui = ui, server = server)

當你在輸入框中輸入文字時,它會被複製到輸出框中提示語後。這並沒有什麼奇特的,但它向你展示了一個 Shiny 程序的基本結構。“server”部分允許你處理所有後端工作,如計算、數據庫檢索或程序需要發生的任何其他操作。“ui”部分定義了接口,它可以根據需要變得簡單或複雜。

包括在 Shiny 中的 Bootstrap 有了大量樣式和主題,所以在學習了一點後,就能用 R 創建大量功能豐富的 web 程序。使用附加包可以將功能擴展到更高級的 JavaScript 程序、模板等。

有幾種方式處理 Shiny 的後端工作。如果你隻是在本地運行你的程序,加載庫就能做到。對於想要發布到網絡上的程序,你可以在 RStudio 的 Shiny 網站上共享它們,運行開源版本的 Shiny 服務器,或通過按年訂閱服務從 RStudio 處購買 Shiny Server Pro。

經驗豐富的 R 大牛可能已經知道 Shiny 了;它已經存在大約幾年了。對於像我這樣來自一個完全不同的編程語言,並且希望學習一點 R 的人來說,它是相當有幫助的。

原文發布時間為:2017-03-04

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-25 17:01:47

  上一篇:go  LXD 2.0 係列(九):實時遷移
  下一篇:go  一個使用 asyncio 協程的網絡爬蟲(一)