在学完基础的网页布局后,我们就可以学学如何在网页中加一些控件,让网页显得可以交互(要想真的能够交互,还得学下一节的内容)。 那什么叫做控件呢?所谓的控件就是用户能够与其互动的网页元素。Shiny自带的一些控制插件如下: 函数 | 插件功能 |
---|
actionButton | 操作按钮 | checkboxGroupInput | 一组复选框 | checkboxInput | 单个复选框 | dateInput | 单个日期选择 | dateRangeInput | 一组日期选择 | fileInput | 文件上传A file upload control wizard | helpText | 可添加到输入窗体的帮助文本 | numericInput | 数字输入 | radioButtons | 单选按钮 | selectInput | 一个可供选择的框 | sliderInput | 滑动条 | submitButton | 提交按钮 | textInput | 输入文本的字段 |
具体这些函数在网页展示是什么效果呢? 其实Shiny也想到了,所以给了一个控件全景图 
增加控件让我们继续从一个非常j简单的布局开始,尝试添加几个控件。 ui <> fluidPage(
titlePanel('Hello Widgets'),
sidebarLayout(
sidebarPanel(),
mainPanel()
)
)
以文本输入控件 textInput 为例, textInput(inputId, label, value = '', width = NULL,
placeholder = NULL)
前两个参数分别是该控件的唯一ID和在网页中显示的名字,所有控件的前两个都是这两个参数。第一个参数在所有插件中必须唯一,后续的数据交互时shiny需要根据这个ID获取输入信息。 加入该控件的代码如下 ui <> fluidPage(
titlePanel('Hello Widgets'),
sidebarLayout(
sidebarPanel(
h1('Please input your name'),
textInput('input1', label = '', value = '',
placeholder = 'your name')
),
mainPanel(
h1('Showing results')
)
)
)
输入对应的是HTML中的 元素,里面的属性 type='text' 表明它的输入数据是文本。 
## 练习 这部分的内容主要是了解,在后续需要时挑选对应的工具,如下 是练习题 
如下是我写的代码 library(shiny)
ui <> fluidPage(
titlePanel('censusVis'),
sidebarLayout(
sidebarPanel(
helpText('Create demographic maps with information from the 2010 US census'),
selectInput('checkBox1',
label = 'choose a variable to display',
choices = list('A'=1,
'B'=2)
),
sliderInput('sliderInput',
label = 'Range of interest',
min = 0, max=100, value = c(0,100), step=10)
),
mainPanel(
)
)
)
server <> function(input, output){
}
shinyApp(ui = ui, server = server)
那么如何根据输入调整输出呢?这就是下一节的内容了 参考资料传送门Shiny基础教程:
|