分享

「R shiny基础」增加一些小控件

 生物_医药_科研 2019-02-03

在学完基础的网页布局后,我们就可以学学如何在网页中加一些控件,让网页显得可以交互(要想真的能够交互,还得学下一节的内容)。

那什么叫做控件呢?所谓的控件就是用户能够与其互动的网页元素。Shiny自带的一些控制插件如下:

函数插件功能
actionButton操作按钮
checkboxGroupInput一组复选框
checkboxInput单个复选框
dateInput单个日期选择
dateRangeInput一组日期选择
fileInput文件上传A file upload control wizard
helpText可添加到输入窗体的帮助文本
numericInput数字输入
radioButtons单选按钮
selectInput一个可供选择的框
sliderInput滑动条
submitButton提交按钮
textInput输入文本的字段

具体这些函数在网页展示是什么效果呢? 其实Shiny也想到了,所以给了一个控件全景图

增加控件

让我们继续从一个非常j简单的布局开始,尝试添加几个控件。

  1. ui <> fluidPage(


  2.  titlePanel('Hello Widgets'),


  3.  sidebarLayout(

  4.    sidebarPanel(),

  5.    mainPanel()

  6.  )

  7. )

以文本输入控件 textInput为例,

  1. textInput(inputId, label, value = '', width = NULL,

  2.  placeholder = NULL)

前两个参数分别是该控件的唯一ID和在网页中显示的名字,所有控件的前两个都是这两个参数。第一个参数在所有插件中必须唯一,后续的数据交互时shiny需要根据这个ID获取输入信息。

加入该控件的代码如下

  1. ui <> fluidPage(


  2.  titlePanel('Hello Widgets'),


  3.  sidebarLayout(

  4.    sidebarPanel(

  5.     h1('Please input your name'),

  6.     textInput('input1', label = '', value = '',

  7.               placeholder = 'your name')


  8.    ),

  9.    mainPanel(

  10.      h1('Showing results')

  11.    )

  12.  )

  13. )

输入对应的是HTML中的 元素,里面的属性 type='text'表明它的输入数据是文本。

## 练习

这部分的内容主要是了解,在后续需要时挑选对应的工具,如下 是练习题

如下是我写的代码

  1. library(shiny)


  2. ui <> fluidPage(


  3.  titlePanel('censusVis'),


  4.  sidebarLayout(

  5.    sidebarPanel(

  6.      helpText('Create demographic maps with information from the 2010 US census'),

  7.      selectInput('checkBox1',

  8.                         label = 'choose a variable to display',

  9.                         choices = list('A'=1,

  10.                                        'B'=2)

  11.                         ),

  12.      sliderInput('sliderInput',

  13.                  label = 'Range of interest',

  14.                  min = 0, max=100, value = c(0,100), step=10)


  15.    ),

  16.    mainPanel(

  17.    )

  18.  )

  19. )


  20. server <> function(input, output){

  21. }



  22. shinyApp(ui = ui, server = server)

那么如何根据输入调整输出呢?这就是下一节的内容了

参考资料

  • http://shiny./tutorial/written-tutorial/lesson3/

传送门

Shiny基础教程:

  • 「R shiny 基础」初识Shiny

  • 「R shiny 基础」如何进行网页布局

  • 「R shiny基础」增加一些小控件

  • 「R shiny基础」交互式入门

  • 「R shiny基础」在shiny应用中加载数据和脚本

  • 「R shiny基础」reactive让shiny应用运行速度变快


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多