是一个来自 RStudio 的工具包,它让创建 web 程序变得更容易。它能从 R 控制台轻松安装,只需要一行,就可以加载好最新的稳定版本来使用。这里有一个很棒的,它可以在前面课程基础上,带着你理解应用架设的概念。 Shiny 的授权是 GPLv3,源代码可以在  上获得。

这是一个用 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 中的  有了大量样式和主题,所以在学习了一点后,就能用 R 创建大量功能丰富的 web 程序。使用附加包可以将功能扩展到更高级的 JavaScript 程序、模板等。

有几种方式处理 Shiny 的后端工作。如果你只是在本地运行你的程序,加载库就能做到。对于想要发布到网络上的程序,你可以在 上共享它们,运行开源版本的 Shiny 服务器,或通过按年订阅服务从 RStudio 处购买 Shiny Server Pro。

经验丰富的 R 大牛可能已经知道 Shiny 了;它已经存在大约几年了。对于像我这样来自一个完全不同的编程语言,并且希望学习一点 R 的人来说,它是相当有帮助的。