r语言remarkdown展示图_R语言中的十个小技巧
一、switch函数
我喜欢swith()。它基本上是根据另一个变量的值来选择其值的if语句的一个方便的缩写。我发现当我编写代码时,根据您先前的选择需要加载不同的数据集时,它特别有用。例如,如果您有一个名为animal的变量,并且您想要根据动物是狗、猫还是兔子加载不同的数据集,您可以写下:
data
switch(animal,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)
这在Shiny应用程序中特别有用,您可能希望根据一个或多个输入菜单选项加载不同的数据集甚至环境文件。
二、RStudio快捷键
这不仅仅是一个R技巧,更多是关于RStudio IDE的更多内容,但是可用于常用命令的快捷键非常有用,可以节省大量的输入时间。我最喜欢的是Ctrl + Shift + M用于管道运算符%>%,用Alt + – 用于赋值运算符< – 。如果你想看到一整套这些很棒的快捷方式,只需在RStudio中键入Atl + Shift + K即可。
三、flexdashboard包
如果您希望快速启动Shiny仪表板,并且操作简单,那么flexdashboard软件包可以满足您的一切需求。它提供了简单的HTML快捷方式,可以轻松构建侧边栏,并将显示组织成行和列。它还有一个超级灵活的标题栏,您可以将应用程序组织到不同的页面,并放入图标和指向Github代码或电子邮件地址或其他任何内容的链接。作为在RMarkdown中运行的软件包,它还允许您将所有应用程序保存在一个Rmd文件中,而不是需要将其分解为单独的服务器和UI文件,例如shinydashboard。每当我需要创建仪表板的简单原型版本,然后再将其转移到更高级的设计时,我就会使用flexdashboard。我经常可以使用flexdashboard在一小时内启动并运行仪表板。
四、R Shiny中的req和验证函数
R Shiny开发可能令人沮丧,特别是当您收到通用错误消息时,无法帮助您了解底层出现的问题。随着Shiny的发展,越来越多的验证和测试功能被添加,以帮助更好地诊断和警告特定发生的错误。req()函数允许您阻止操作发生,除非环境中存在另一个变量,但是静默地执行操作而不显示错误。因此,您可以使UI元素的显示以先前的操作为条件。例如,参考我上面的例子1:
output$go_button
# only display button if an animal input has been chosen
shiny::req(input$animal)
# display button
shiny::actionButton("go",
paste("Conduct", input$animal, "analysis!")
)
})
在呈现输出之前进行validate()检查,并且如果某个条件未满足,则允许您返回定制的错误消息,例如,如果用户上载了错误的文件:
# get csv input file
inFile
data
# render table only if it is dogs
shiny::renderTable({
# check that it is the dog file, not cats or rabbits
shiny::validate(
need("Dog Name" %in% colnames(data)),
"Dog Name column not found - did you load the right file"
)
data
})
五、使用系统环境保留我的所有凭据
如果要共享需要登录凭据到数据库之类的代码,则可以使用系统环境来避免将这些凭据发布到Github或其他可能存在风险的空间。您可以将凭据作为命名环境变量放在R会话中,例如:
然后在共享脚本中,您可以使用这些环境变量登录。例如:
# get csv input file
inFile
data
# render table only if it is dogs
shiny::renderTable({
# check that it is the dog file, not cats or rabbits
shiny::validate(
need("Dog Name" %in% colnames(data)),
"Dog Name column not found - did you load the right file"
)
data
})
更方便的是,如果你经常使用这些凭证,你可以在操作系统中将它们设置为环境变量,这样当你在R中工作时它们总是可用,但你不必在你的代码中显示它们。
六、使用styler自动化tidyverse样式
您的代码可能不像您所希望的那样整洁,您没有时间对其进行编辑。stylerpackage具有许多功能,允许自动重新编码代码以匹配tidyverse风格。它非常简单,就像在你的凌乱脚本上运行styler :: style_file(),它将为你做很多(虽然不是全部)工作。
七、参数化R Markdown文档
所以你写了一个可爱的R Markdown文档,你已经分析了很多关于狗的事实。然后你会被告知 – ‘不,我对猫更感兴趣。如果将R标记文档参数化,则只需一个命令就可以自动生成关于猫的类似报告。
您可以通过在R Markdown文档的YAML标题中定义参数,并为每个参数赋值来完成此操作。例如:
现在,您可以将这些变量写入文档中的R代码,如params 和
years_of_study。如果您正常编织文档,它将根据值变量使用这些参数的默认值进行编织。但是,如果您通过在RStudio的Knit下拉列表中选择此选项来编织参数(或使用knit_with_parameters()),则会出现一个可爱的菜单选项,您可以在编织文档之前选择参数。
八、revealjs
revealjs是一个包,它允许您使用带有嵌入式R代码的直观幻灯片导航菜单以HTML格式创建精美的演示文稿。它可以在R Markdown中使用,并且具有非常直观的HTML快捷方式,允许您使用各种样式选项创建漂亮幻灯片的嵌套逻辑结构。演示文稿是用HTML表示的,这意味着人们可以通过他们的平板电脑或手机听你说话,这非常方便。您可以通过安装包然后在YAML标头中调用它来设置revealjspresentation。这是我最近使用revealjs发表的演讲的YAML标题示例
--
title: "Exporing the Edge of the People Analytics Universe"
author: "Keith McNulty"
output:
revealjs::revealjs_presentation:
center: yes
template: starwars.html
theme: black
date: "HR Analytics Meetup London - 18 March, 2019"
resource_files:
- darth.png
- deathstar.png
- hanchewy.png
- millenium.png
- r2d2-threepio.png
- starwars.html
- starwars.png
- stormtrooper.png
---
九、R Shiny中的HTML标签
大多数人没有充分利用R Shiny中提供的HTML标签。有110个标签提供各种HTML格式和其他命令的快捷方式。最近我构建了一个应用程序,花了很长时间来执行任务。知道用户在等待它完成时可能会出现多任务,我使用标签$ audio让应用程序大肆宣传,以便在任务完成时提醒用户。
十、赞美包
这个赞美包非常简单但也很棒,给用户带来了好评。虽然这看起来像是毫无意义的自我钦佩,但它实际上在编写R包时非常有用,如果他们做正确的事情,例如如果一个过程成功完成,你可以向某人提供赞美或鼓励。您也可以将它放在复杂脚本的末尾,以便在成功运行时为您提供额外的快乐。
End.
来源:数据分析网
r语言remarkdown展示图_R语言中的十个小技巧相关推荐
- r语言remarkdown展示图_R语言—自动报告Markdown笔记
一句话介绍:Markdown是一种轻量级标记语言,内容是代码与文本的混合,类似HTML,但语法比HTML简单. &. 比如:如果你写: 4<5 ,Markdown将会把他转换为: 4&l ...
- r语言remarkdown展示图_R语言knitr之rmarkdown
R语言knitr之rmarkdown 数据报告是作为数据分析师必不可少的工作之一,而目前大部分数据分析师所处环境可能是excel画图制表,然后制作成word或者email的方式.对于周期性的报告,每次 ...
- r语言remarkdown展示图_R语言学习笔记--R bookdown图表设置中英文双标题
一. 测试文档,该文档修改自 bookdown 的官方中文模板. 该方案可以实现同时生成pdf和html两种格式的文件,pdf文件中实现双标题,html文件可正常生成单个标题. 二. 结合 CTEX ...
- r语言remarkdown展示图_十个超级好用的R语言编程技巧,一般人绝不知道!
全文共3997字,预计学习时长8分钟 图片来源:pexels.com/@pixabay 由于R语言生态系统内容繁复并在不断发展,人们往往容易忽视一些切实有用的知识.这些技巧往往非常简单,但对于完成工作 ...
- r语言remarkdown展示图_使用R语言包circlize可视化展示blast双序列比对结果
circlize这个包还挺强大的,R语言里用来画圈图还挺方便的. 今天这篇文章记录用circlize这个包画圈图展示blast双序列比对结果的代码 植物线粒体基因组类的文章通常会分析细胞器基因组间基因 ...
- r语言remarkdown展示图_为什么Markdown R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术...
为什么Markdown+R有较大概率成为科技写作主流? 废话 上周五,我对友人说,十年后,基于Markdown+R的科技写作方式将有较大概率成为主流.而这一切,少不了来自一位友人的重要开源贡献.他给这 ...
- r语言remarkdown展示图_解决R markdown 图片显示不完整
R markdown功能多多 可以用网页HTML.PDF.Word等多种展示方式.做presentation非常有用,文件小,内容大.最近我想做一个R Markdown写一些作用,然后发现R Mark ...
- r语言remarkdown展示图_Markdown + R
Markdown + R 科技写作与Markdown+R 科技写作会碰到什么难题? 如果你是纯文科生,写的都是豆瓣小酸文或者诗歌之类的,那么,看完上面这一部分就可以打住了.如果你还有写科技论文的需要, ...
- r语言 精美rda图_R语言RDA分析结果环境因子丢失
用R语言做RDA分析,分析环境因子与物种的相关性.有27的样本,31个物种,14个环境因子.但是最后输出的环境因子得分表"Biplot scores for constraining var ...
最新文章
- appium+python自动化33-解锁九宫格(TouchAction)
- mysql max_allowed_packet 查询和修改
- std::optional
- Magento教程 15:Magento 批次修改产品资料
- ESXi安全引导如何提升vSphere安全性?
- 浏览器和服务器交互原理?(请求--响应的过程)
- 各大网站猪年新春应景LOGO秀
- 铁子们,2019博客之星投票活动开始了!帮我投个票呗
- ele-calendar 组件的使用
- c语言程序设计精髓第六章编程题
- 干货丨绝地求生—PUBG游戏模型合集
- 设计模式:建造模式(组装电脑)
- workerman创建wss服务
- VR酒店上线,数字化转型制定落地方案
- spark封神之路(1)-spark简介
- 彻底解决连上了网却不能上网问题:未连接到互联网
- 关于 trello 和 slack 的感想及使用经验
- 包和工具(读书笔记)
- 细讲如何判断文法是否是LL(1)文法
- 单调函数有界性类题目解法
热门文章
- linux定时关机命令_软件设计师必知Linux命令 | 推荐收藏~
- java计算机毕业设计师生教学评价系统源码+系统+数据库+lw文档+mybatis+运行部署
- 新浪微博-表情键盘的显示
- 一文读懂transformer(CV专享)
- Android json数据解析
- 笑死人不偿命的知乎沙雕问题排行榜
- 解决Python调试OSError: [WinError 193] %1 不是有效的 Win32 应用程序
- PaddleSpeech 流式语音合成系统 PP-TTS
- 以色列通过空袭回应哈马斯的黑客攻击
- 地狱模式的居转户记录06