上篇初步地对R语言中shiny包作了一个整体的认识,以及创建shiny web app所需要的部分。那么今天我们就进入下一步的学习,对shiny包中一些常用的控件作一个了解。
一、滑动条
滑动条的作用通过滑动游标,控制某个变量的取值,或者是变量的范围。滑动条函数为selectInput(),重要的参数有下面几个:
inputId:用于定义滑动条的名称,用于在server端调用
label:指定滑动条在执行程序后页面的名称标签
min/max:滑动条的最小/大值
value:指定滑动条的默认值,若传入两个元素的向量,为范围的默认值
其他参数:step(控制步长),format(控制格式),width(滑动条宽度)....
二、日期框
和滑动条有相似的作用,但是是控制具体日期的取值,或者是日期的范围。日期选择框的函数有dateInput()和dateRangeInput()。两个函数的参数与滑动条函数的基本上一样,只有value的指定值需要传入日期数据,因此就省略介绍。
三、下拉选项框
选择框的作用就是用于选择变量的属性值,通过选择对应的属性,然后可以反馈输出对应的值。选择框的函数是selectInput(),下面是具体的参数:
inputId/label:同上
choice:向量,用于出入选择框的选项
selected:传入默认的选择项
四、单选/多选项
关于选择的样式还有下面的单选项和多选项,具体的作用与上面的选择框基本一样,涉及的函数有单选项函数checkboxInput()和多选项函数checkboxGroupInput(),下面是两个函数的具体参数,首先是单选项函数:
inputId:同上
label:单选框的标签内容
value:逻辑值,默认是否勾选单选项
checkboxGroupInput()函数的核心参数有inputId/label/choice/selected,与下拉选项是一样的用法,就不再介绍。
除了上面的两种选项控件,还有一个是单选(多个选项),使用的函数是radioButtons(),该函数的参数与checkboxGroupInput()一样,但是一次只能选择其中一项。
五、按钮控件
按钮控件有活动按钮和提交按钮,这两个控件的使用就涉及到反应式编程,这里就不展开说,后面有机会再详细说一下。两个控件函数分别是actionButton()和submitButton(),具体的参数也比较简单,前者是inputId/label,后者是参数text(用于传入按钮名称),按钮控件用于我们提交各个控件最终的设置,也就是当我们有多个控件,我们可以把各个控件的参数设置好,最后使用点击按钮提交。
六、输入框控件
输入框常用的有文本输入和密码输入的两个控件,函数分别是textInput()和passwordInput(),核心参数也是一样的:inputId/label(同上)/value(用于指定初始值),区别在于密码输入控件主要是用于密码验证,因此输入是带有保护机制的:
而文本输入则是显示出输入的内容:
七、上传/下载文件
上传文件控件让我们的shiny有了更好的互动性,传入不一样的数据,就有不同的展现效果,弥补了我们只能在创建shiny程序的时候传入数据的不足。而我们的控件函数fileInput(),简单的参数有inputId/label(同上),其次是multiple,传入逻辑值设置是否在执行程序之后需要先上传文件;accept参数是用于设定上传文件的类型。既然有上传,就会有下载,下载按钮函数为downloadButton(),参数inputId/label(同上)。至于两者如何使用,我们可以留到之后构建shiny app 程序的时候再一起介绍。
上面基本将shiny常用的控件做了一个简单的梳理,而具体的应用和搭配技巧,之后可以继续交流学习。快速上手的方法就是自己动手去熟悉函数,下面是很久之前写的一个天气信息的shiny,后面希望可以和大家探索出更有趣的东西。