官方教程:https://shiny.rstudio.com/tutorial/

中文教程:http://yanping.me/shiny-tutorial/

英文教程:https://deanattali.com/blog/building-shiny-apps-tutorial/

Shiny是一个R包,使用它可以很容易构建交互式web应用程序。

1. 入门

Hello Shiny是个简单的应用程序, 这个程序可以生成正态分布的随机数,随机数个数可以由用户定义,并且绘制这些随机数的直方图。

library(shiny)
runExample("01_hello")

Shiny Text这个应用程序展示的是直接打印R对象,以及用HTML表格展示数据框。

更多示例:

"01_hello", "02_text", "03_reactivity", "04_mpg", "05_sliders", "06_tabsets", "07_widgets", "08_html", "09_upload", "10_download", "11_timer"

分别向我们演示了:

示例 输入形式 输出形式
01_hello      # a histogram 滑动条输入(sliderInput) 图形输出(plotOutput)
02_text       # tables and data frames 选择输入(selectInput) 表格输出(tableOutput)
03_reactivity# a reactive expression 文本输入(textInput),数字输入(numericInput) 反应式(标题h3)
04_mpg       # global variables 复选框输入(checkboxInput)  
05_sliders    # slider bars

滑动条输入

(数值类型、范围、步长、双取值、符号标示、动画)

 
06_tabsets    # tabbed panels 单选按钮(radioButtons) 标签页(tabsetPanel)
07_widgets    # help text and submit buttons 帮助信息(helpText),动作按钮(actionButton) verbatimTextOutput
08_html        # Shiny app built from HTML HTML样式  
09_upload     # file upload wizard 文件输入(fileInput)  
10_download # file download wizard   文件输出(downloadButton)
11_timer       # an automated timer   时间输出

在shiny中使用反应值时,最常见的方式是使用input对象。input对象会被传递给shinyServer函数中,让我们可以用类似列表的语法来访问网页上的输入值。为了将反应值转化为可以在网页上呈现的输出,我们要将它们赋值给output对象(同样传递给shinyServer函数)。

input values => R code => output values

创建:

2. 运行&调试

服务端脚本给两个输出赋值:output$captionoutput$mpgPlot。为了让用户接口能显示输出,我们需要在主UI面板上添加相应的元素。

打印

cat("foo\n")
cat("bar\n", file=stderr())

调试浏览器

# Always stop execution here
browser()
# Stop execution when the user selects "am"
browser(expr = identical(input$variable, "am"))

错误处理器

# Immediately enter the browser when an error occurs
options(error = browser)
# Call the recover function when an error occurs
options(error = recover)

3. HTML元素

shiny function HTML5 equivalent creates
p <p> 段落
h1 <h1> 一级标题
h2 <h2> 二级标题
h3 <h3> 三级标题
h4 <h4> 四级标题
h5 <h5> 五级标题
h6 <h6> 六级标题
a <a> 链接
br <br> 换行
div <div> 容器
span <span> 内联文本
pre <pre> 格式字体
code <code> 代码块
img <img> 图片
strong <strong> 粗体
em <em> 斜体
HTML   直接将字符串作为HTML代码传递

使用HTML定义前端不需要ui.R文件,由index.html文件定义即可。

4. 输入

function widget
actionButton Action Button
checkboxGroupInput A group of check boxes
checkboxInput A single check box
dateInput A calendar to aid date selection
dateRangeInput A pair of calendars for selecting a date range
fileInput A file upload control wizard
helpText Help text that can be added to an input form
numericInput A field to enter numbers
radioButtons A set of radio buttons
selectInput A box with choices to select from
sliderInput A slider bar
submitButton A submit button
textInput A field to enter text

5. 输出

Output function Creates
dataTableOutput DataTable
htmlOutput raw HTML
imageOutput image
plotOutput plot
tableOutput table
textOutput text
uiOutput raw HTML
verbatimTextOutput text

6. 分享

  1. 通过R脚本;
  2. 通过网页。

7. 练习

博客:https://www.cnblogs.com/dingdangsunny/p/12586274.html

日期计算器:https://dingdangsunny.shinyapps.io/DateCalculate

FFT分析:https://dingdangsunny.shinyapps.io/FastFourierTransform

R之Shiny学习笔记的更多相关文章

  1. R语言可视化学习笔记之添加p-value和显著性标记

    R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline   上篇文章中提了一下如何通过ggpubr ...

  2. R parallel包学习笔记2

    这个部分我在datacamp上面学习笔记,可视化的性能很差,使用的函数也很少. 可以参考一下大佬的博客园个人感觉他们讲的真的很详细 https://cosx.org/2016/09/r-and-par ...

  3. 从零开始系列-R语言基础学习笔记之二 数据结构(二)

    在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...

  4. R语言的学习笔记 (持续更新.....)

    1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...

  5. 从零开始系列--R语言基础学习笔记之一 环境搭建

    R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...

  6. R语言可视化学习笔记之添加p-value和显著性标记--转载

    https://www.jianshu.com/p/b7274afff14f?from=timeline #先加载包 library(ggpubr) #加载数据集ToothGrowth data(&q ...

  7. R语言可视化学习笔记之ggpubr包—SCI文章图

    转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...

  8. R语言入门学习笔记 - 对R软件的认识

    一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...

  9. R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 看了看往期的博客,这个话题竟然是第 ...

随机推荐

  1. python数据类型简介

    python中的注释:注释仅仅是给人看的,python并不进行识别. 注释的分类: 单行注释:# 多行注释:用三对单引号或双引号 与用户交互: 1.python3中输入 关键字:input() pyt ...

  2. DBFlow框架的学习笔记之入门

    什么是DBFlow? dbflow是一款android高性的ORM数据库.可以使用在进行项目中有关数据库的操作.github下载源码 1.环境配置 先导入 apt plugin库到你的classpat ...

  3. Allenmind's Blog

    听说,Sass和Compass更配哟.来看看Compass的基本用法! 目录 Compass和Sass 安装Compass 项目初始化 编译 Compass的模块 Compass的Helper函数 一 ...

  4. “一亿”的教训:一次Google信箱诈骗是如何得手的?

    网络诈骗是指以非法占有为目的,利用互联网采用虚构事实或者隐瞒真相的方法,骗取数额较大的公私财物的行为.一年比一年网络诈骗越来越高手段,可以说是日益猖獗.在这里提醒一次各位朋友一定要注意自己的网络安全. ...

  5. 强制迁移、合区 APP太强势伤害用户同时是否违法?

    APP太强势伤害用户同时是否违法?" title="强制迁移.合区 APP太强势伤害用户同时是否违法?"> 对于经常混迹在国内各大手游的玩家来说,"合区& ...

  6. PHP manual-mysqli-connections-翻译

    PHP manual-mysqli-connections MySQL服务器支持使用不同的传输层进行连接. 连接可以使用TCP / IP,Unix域套接字或Windows命名管道. 主机名localh ...

  7. marquee横向无缝滚动无js

    <!DOCTYPE html><html><head><meta charset="utf-8"> <title>< ...

  8. Maven使用和配置

    Maven使用和配置 一.maven安装和概念 maven安装 maven编译(compile) 执行测试用例(test) maven打包(package) maven依赖管理 1.maven安装 官 ...

  9. sklearn简单实现机器学习算法记录

    sklearn简单实现机器学习算法记录 需要引入最重要的库:Scikit-learn 一.KNN算法 from sklearn import datasets from sklearn.model_s ...

  10. SAP CRM Transaction处理中的权限控制

    当试图打开一个Opportunity时, 系统会进行如下一系列的权限检查: 1. 检查Authorization object CRM_ORD_OP: 此处会检查当前user的partner func ...