作者:李誉辉
四川大学在读研究生
前言
从本文开始连载shinydashboard与shiny_史上最全系列文章,本文章将分三部分连载:
第一部分:
1 简介
2 shiny文件的创建和运行
3 shinydashboard
3.1 标题栏(Header)
第二部分:
3.2 输入与输出
3.3 侧边栏
3.4 主体(Body)
3.5 布局(Layouts)
4 shiny框架
第三部分:
5 选项卡(tabset)
6 美化
7 CSS语法
8 与leaflet结合
9 web部署
shiny
常常用于交互式网页的制作,
内含多个模块,直接用R编写,也可以插入CSS语法,JS文件。
不需要懂得服务器的配置,也能制作交互式交互式网页。
在与客户或同事沟通的时候,更加简介明了,也可以将文件发布到服务器上。
总之应用非常广泛。shinydashboard
是一个shiny
的框架包,shinydashboard
能实现的,直接使用shiny
也能实现。
但是shiny
中panels的布局较为繁琐,shinydashboard
则更加友好,初学者上手更加快捷。shinydashboard
的创建与shiny
一致,服务器端的代码结构完全,只是添加了几个小元素。shinydashboard
相当于对shiny
做了一些封装,
所以shiny
中的元素,shinydashboard
都支持,只是外部框架不一样。
我们首先创建shiny
文件,然后用shinydashboard
生成交互式网页。shinydashboard
学完后,再学习shiny
就很清楚了。
shiny
文件有2种类型: 一种是将UI端和server端分开的,
另一种是将UI端代码和server端代码合并在一起的。
2.1
UI与server分开的文件
首先新建一个ShinyApp, 步骤: File -> New File -> Shiny Web App
。 如图所示:
初次使用,为了便于理解,我们选择了Mutiple File(ui.R/server.R),并指定了工作目录。
并给Shiny程序命名为:Shiny_test_1。
然后在工作目录下就生成了2个R文件。如图所示:
我们打开ui.R文件。ui.R表示用户界面部分。
首先定义用户接口,用函数shinyUI()
包裹page
函数即可。
1library(shiny)
2
3# 自定义UI:每加仑汽车行驶里程
4shinyUI(pageWithSidebar(