如何用 R 語言的 Shiny 庫編寫 web 程序
Shiny 是一個來自 RStudio 的工具包,它讓創建 web 程序變得更容易。它能從 R 控製台輕鬆安裝,隻需要一行,就可以加載好最新的穩定版本來使用。這裏有一個很棒的教程,它可以在前麵課程基礎上,帶著你理解應用架設的概念。 Shiny 的授權是 GPLv3,源代碼可以在 GitHub 上獲得。
這是一個用 Shiny 寫的簡單的小 web 程序:
library(shiny)
server <- function(input, output, session) {
observe({
myText <- paste("Value above is: ", input$textIn)
updateTextInput(session, "textOut", value=myText)
})
}
ui <- basicPage(
h3("My very own sample application!"),
textInput("textIn", "Input goes here, please."),
textInput("textOut", "Results will be printed in this box")
)
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