新年快乐!我本月正忙于撰写几篇较长的文章,请期待在未来几周内看到它们。对于本月的“边角料”,我想简要介绍一个很棒的 R 库,我一直在使用它进行自我学习。
我的一位密友最近一直在用 R 语言进行黑客攻击。我一直很感兴趣,并且一直在努力挤出一点时间来至少更多地了解 R 语言以及你可以用它来做的事情。弄清楚数字运算能力对我来说是一个持续的挑战,因为我远不如我的朋友那样拥有出色的数学头脑。对我来说,这有点慢,但我一直在尝试将其与我在其他领域的经验联系起来,并且我开始考虑即使是非常简单的 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 应用程序的基本结构。“服务器”部分允许您处理所有的后端工作,例如计算、数据库检索或应用程序需要发生的任何其他事情。“UI”部分定义了界面,可以根据需要简单或复杂。
Shiny 中包含了使用 Bootstrap 进行样式和显示主题的广泛功能,因此您可以在学习一点之后,在 R 中为 Web 创建广泛的、功能丰富的应用程序。附加包可以将功能扩展到更高级的 JavaScript 应用程序、模板等等。
您可以通过多种方式处理 Shiny 的后端工作。如果您只是在本地运行您的应用程序,加载库就可以解决问题。对于您想要发布到 Web 的应用程序,您可以在 RStudio 的 Shiny 网站上共享它们,运行开源版本的 Shiny 服务器,或者通过年度订阅服务从 RStudio 购买 Shiny Server Pro。
经验丰富的 R 大师可能已经对 Shiny 了如指掌;它已经存在几年了。对于像我这样来自完全不同类型的编程并且想要了解一点 R 的人来说,我发现它非常有用。
3 条评论