19.1.2 程序结构
Shiny应用程序是编写在app.R(必须使用这个名字,以便RStudio能够正确处理该文件)的脚本程序中。app.R文件要保存到项目的根目录(比如git repo的根目录)下。可自建该文件和文件夹,也可通过RStudio(File→New File→Shiny Web App)新建一个Shiny项目。
Shiny应用程序的基础是shiny包(类似dplyr和ggplot2),使用前需要安装并加载:
这样,所有shiny包中的函数和变量都可被使用了。
图19-1已说明,Shiny应用程序被分成两部分:UI和服务器。
1)UI定义了浏览器显示应用程序的方式。Shiny应用程序的UI被定义成一个值,该值几乎总是从调用Shiny的布局函数中返回。
下面的UI例子中定义了fluidPage()函数(函数中的内容流入了响应的页面中,页面随浏览器尺寸而调整),该函数中包含了三个内容元素:页面头的静态文本内容、用户可输入名字的文本输入框、计算消息值(由服务器定义)的输出文本。在19.2节中将详细讲解这些函数和用法。
2)服务器定义和处理将由UI显示的数据。Shiny应用程序的服务器被定义成一个函数(与此相反,UI是一个值)。该函数需要两个列表作为参数,习惯上称为输入和输出。从用户界面(例如Web浏览器)中接收输入列表中的数值,并使用该数值生成新的内容(比如计算信息或者绘图)。生成的内容被保存成输出列表,回发给UI,而后在浏览器中渲染。服务器使用渲染函数将这些数值赋值给输出,从而,只要输入列表变动了就会自动重新计算出新的内容,例如: ...
Get 数据科学之编程技术:使用R进行数据清理、分析与可视化 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.