如何用 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中国”

时间: 2024-10-27 06:37:23

如何用 R 语言的 Shiny 库编写 web 程序的相关文章

《R的极客理想—工具篇》—— 2.1 R语言时间序列基础库zoo

2.1 R语言时间序列基础库zoo 问题 R语言怎么处理时间序列数据? 引言 时间序列分析是一种动态数据处理的统计方法,通过对时间序列数据的分析,我们可以感觉到世界正改变着什么!R语言作为统计分析的利器,对时间序列处理有着强大的支持.在R语言中,单独为时间序列数据定义了一种数据类型zoo,zoo是时间序列的基础,也是股票分析的基础.本节将介绍zoo库在R语言中的结构和使用. 2.1.1 zoo包介绍 zoo是一个R语言类库,zoo类库中定义了一个名为zoo的S3类型对象,用于描述规则的和不规则的

如何用R语言进行云计算

如今,几乎所有领域或业务活动正在通过SMAC进行数据转换.SMAC指的是社交(Socia).移动(Mobile).分析(Analytics)和云服务(Cloud).这个改变的影响已经涉及到包括组织.人员与产品在内的范围.在本文中,我们将通过使用云计算让你提高数据分析能力. 我们已经使用R语言和RStudio由浅入深地解释了云计算的相关概念(请参考大数据文章2015年9月21日发布的文章<如何在云计算平台使用R语言编程的快速入门指南>).此外,相较于传统的桌面.本地客户机/服务器构架而言,你还将

如何让R语言通过RODBC库读写数据库的数据

如何让R语言能够读写SQL Server里的数据 一. 安装RODBC库 1.进入R语言的GUI界面(RGUI.EXE),在菜单栏选择"程序包/安装程序包"(如图) 2.在弹出的窗口里往下拉,选择RODBC如图,点击确定 3.在ODBC数据源管理器里将需要的数据库添加进去,这里笔者使用的是SQL Server2008,驱动程序选择Native Client10.0 3.在R语言窗口输入连接语句 > library(RODBC) **这里是载入RODBC库 > channel

一文详解如何用 R 语言绘制热图

简介 本文将绘制静态与交互式热图,需要使用到以下R包和函数: ● heatmap():用于绘制简单热图的函数 ● heatmap.2():绘制增强热图的函数 ● d3heatmap:用于绘制交互式热图的R包 ● ComplexHeatmap:用于绘制.注释和排列复杂热图的R&bioconductor包(非常适用于基因组数据分析) 数据准备 使用R内置数据集 mtcars df <- as.matrix((scale(mtcars))) #归一化.矩阵化 使用基本函数绘制简单简单热图 主要是函

Python CGI编写web程序-加法器

CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口) 缺点及改进: 每次的CGI请求都要生成程序的副本来运行 FastCGI-先编译 mod_perl-将解释器作为模块集成在web服务器中 使用C等编译语言 模板引擎jkxy.py form_type="GET"和form_type="POST"对应于get和post请求 def start_response(resp="t

R语言数据挖掘

数据分析与决策技术丛书 R语言数据挖掘 Learning Data Mining with R [哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel) 著 李洪成 许金炜 段力辉 译 图书在版编目(CIP)数据 R语言数据挖掘 / (哈)贝特·麦克哈贝尔(Bater Makhabel)著:李洪成,许金炜,段力辉译. -北京:机械工业出版社,2016.9 (数据分析与决策技术丛书) 书名原文:Learning Data Mining with R ISBN 978-7-111-54769-

《R的极客理想——高级开发篇 A》一一2.4 R语言中的遗传算法

2.4 R语言中的遗传算法 问题 如何用R语言进行遗传算法的计算? 引言 人类总是在生活中摸索规律,把规律总结为经验,再把经验传给后人,让后人发现更多的规律,每一次知识的传递都是一次进化的过程,最终形成了人类的智慧.自然界的规律,让人类适者生存地活了下来,聪明的科学家又把生物进化的规律,总结成遗传算法,扩展到了更广的领域中.本节将带你走进遗传算法的世界.2.4.1 遗传算法介绍 遗传算法是一种解决最优化的搜索算法,是进化算法的一种.进化算法最初借鉴了达尔文的进化论和孟德尔的遗传学说,从生物进化的

《R语言数据挖掘》----第2章 频繁模式、关联规则和相关规则挖掘 2.1关联规则和关联模式概述

本节书摘来自华章出版社<R语言数据挖掘>一书中的第2章,第2.1节,作者[哈萨克斯坦]贝特·麦克哈贝尔(Bater Makhabel),李洪成 许金炜 段力辉 译,更多章节内容可以访问"华章计算机"公众号查看. 第2章 频繁模式.关联规则和相关规则挖掘 本章中,我们将首先学习如何用R语言挖掘频繁模式.关联规则及相关规则.然后,我们将使用基准数据评估所有这些方法以便确定频繁模式和规则的兴趣度.本章内容主要涵盖以下几个主题: 关联规则和关联模式概述 购物篮分析 混合关联规则挖掘

《R的极客理想——高级开发篇 A》一一1.2 R语言中的数学计算

1.2 R语言中的数学计算 问题 如何用R语言进行数学计算? 引言 R语言是统计语言,生来就对数学有良好的支持,用R语言做数学的计算题特别方便.如果计算器中能嵌入R语言的计算函数,那么绝对是一种高科技产品.我真的把R语言当成我的计算器了!1.2.1 基本计算 R语言对数学计算有着非常好的支持,本节将完整介绍初等数学中的各种计算操作. 本节的系统环境是: Windows 7 64bit R: 3.1.1 x86_64-w64-mingw32/x64 (64-bit) 用R语言实现四则运算操作,包括