R之Shiny学习笔记
官方教程: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$caption
和output$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. 分享
- 通过R脚本;
- 通过网页。
7. 练习
博客:https://www.cnblogs.com/dingdangsunny/p/12586274.html
日期计算器:https://dingdangsunny.shinyapps.io/DateCalculate
FFT分析:https://dingdangsunny.shinyapps.io/FastFourierTransform
R之Shiny学习笔记的更多相关文章
- R语言可视化学习笔记之添加p-value和显著性标记
R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline 上篇文章中提了一下如何通过ggpubr ...
- R parallel包学习笔记2
这个部分我在datacamp上面学习笔记,可视化的性能很差,使用的函数也很少. 可以参考一下大佬的博客园个人感觉他们讲的真的很详细 https://cosx.org/2016/09/r-and-par ...
- 从零开始系列-R语言基础学习笔记之二 数据结构(二)
在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...
- R语言的学习笔记 (持续更新.....)
1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...
- 从零开始系列--R语言基础学习笔记之一 环境搭建
R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...
- R语言可视化学习笔记之添加p-value和显著性标记--转载
https://www.jianshu.com/p/b7274afff14f?from=timeline #先加载包 library(ggpubr) #加载数据集ToothGrowth data(&q ...
- R语言可视化学习笔记之ggpubr包—SCI文章图
转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...
- R语言入门学习笔记 - 对R软件的认识
一.R软件 1.安装R:自行百度☺ 2.R控制台(R Console)和R程序脚本: 打开R软件,就会直接打开控制台,控制台可以显示程序运行的结果.错误提示等信息,也可以直接输入想要执行的操作并立即返 ...
- R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 看了看往期的博客,这个话题竟然是第 ...
随机推荐
- UMD: 通用模块规范
既然CommonJs和AMD风格一样流行,似乎缺少一个统一的规范.所以人们产生了这样的需求,希望有支持两种风格的“通用”模式,于是通用模块规范(UMD)诞生了.
- 第12章 Reference-RIL运行框架
Reference-RIL完成两部分处理逻辑: 与LibRIL交互完成RIL消息的处理. 与Modem通信模块交互完成AT命令的执行. Reference-RIL的运行机制 主要涉及以下几个方面: R ...
- 从VR泛滥到倒闭看热门投机的山寨创业心态
相对国外来说,国人的从众心理非常严重.无数的段子和"名人名言"都在反复向我们传递出一个信息:国人在做事的时候,总是随大流,趋向热点.而从行业角度来看,结果就会造成行业中良莠不齐.鱼 ...
- Glide源码解析一,初始化
转载请标明出处:https:////www.cnblogs.com/tangZH/p/12409849.html Glide作为一个强大的图片加载框架,已经被android官方使用,所以,明白Glid ...
- 正式学习MVC 01
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...
- 如何使用API提交转码任务?
摘要: 当常规的转码工作流无法满足用户的场景时,需用户自己判断业务逻辑,并使用API提交转码任务.例如:并不是所有的视频都需要转码,不同视频需要设置不同的转码配置.本文将介绍API提交转码任务的方法. ...
- PHP 深度理解preg_quote()函数
php手册上说,preg_quote()函数的作用是转义正则表达式字符.那么下面我们来深入了解下这个函数是怎么使用的: 说明:preg_quote()函数常和preg_replace()函数一起使用. ...
- java线程间的协作
本次内容主要讲等待/通知机制以及用等待/通知机制手写一个数据库连接池. 1.为什么线程之间需要协作 线程之间相互配合,完成某项工作,比如:一个线程修改了一个对象的值,而另一个线程感知到了变化,然后进行 ...
- Vue+axios(interceptors) 实现http拦截 + router路由拦截 (双拦截)+ 请求自带loading效果
axios interceptors 拦截器 //interceptors.js // vue axios配置 发起请求加载loading请求结束关闭loading // http request 请 ...
- jenkins-构建job成功后自动打tag到git仓库
需求:最近开发同事提出了个要求,每当Jenkins执行上线部署完成后,对当前代码进行自动打TAG到git仓库中,且只有当部署成功后才进行打TAG,防止构建失败也进行打过多的垃圾tag,然后便于下次进行 ...