14.2.2 shiny网页端文件的创建

14.2.2 shiny网页端文件的创建

shiny的网页端文件有两种类型:一种将用户界面(UI)端和服务器(server)端分开;另一种将用户界面(UI)端和服务器(server)端代码整合在一起。两种类型文件的创建方式一致:打开RStudio,选择“File→New File→Shiny Web App”,创建页面如图14-5所示。

图14-5 shiny网页端文件的创建页面示例

由图14-5可知,Application type有两种:Single file代表用户界面(UI)端和服务器(server)端代码合一的单个文件;Multiple file表示用户界面(UI)端和服务器(server)端代码分开的两个文件。下面以建立第二种类型的shiny文件为例,对创建过程进行说明。

在创建文件时,需要先指定本地创建的目录,创建完成后该目录下会生成shiny_test文件夹,该文件夹中有两个R文件:ui.R表示用户界面(UI)端代码文件,server.R为服务器(server)端代码文件。打开任一文件可以发现,文件中已经有了内容和注释,这便是官方给出的代码示例,用户可以使用此官方代码示例生成一个web页面。运行shiny文件有两种方式,两种方式的区别在于工作路径的设置,代码示例如下:

官方示例使用的web页面格式是fluid Page,本书使用pageWithSidebar格式对shiny的使用进行介绍。pageWithSidebar中有三个主要函数,分别为header Panel()、sidebar Panel()和mainPanel()。在ui.R代码文件中,使用以下代码重新定义web页面:

在上述代码中,header Panel()函数用于控制web页面标题;sidebarPanel()函数控制web页面侧边栏的格式,该函数有众多参数,可以定制各种各样的侧边栏;mainPanel()函数控制web页面主面板的输出,该函数会调用服务器端代码文件(server.R)并输出结果。

服务器端代码文件(server.R)可以被理解为底层代码文件,它能够完成数据处理、数值计算和数据可视化,并将结果映射到用户界面端代码文件(ui.R)中。服务器端代码文件(server.R)的使用比较简单,只需使用shinyServer()函数包裹input和output两个参数的方式即可,代码示例如下: