文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

R Markdown 的使用|保姆级教程

2023-09-12 18:36

关注

1.1 Markdown 简介

Markdown是⼀种轻量级标记语⾔,它允许我们可以通过简单的⽂本格式编写⽂档,语法简单、上⼿容易,所以越来越多的人都在使用它,而且现在还有有很多可以⽀持Markdown编辑的应⽤软件,例如Typora、Notion等,通过这些⼯具可以便捷地完成Markdown编辑,并且⽀持导出PDF、HTML等多种格式。是不是觉得好像也不太常见,实则不然呐!其实我们平常经常使用的简书、知乎、CSDN也都支持Markdown呢!

常用语法展示:

| 名称        | 显示||:-----------|:----------|| 常规        | default|| 斜体        | *italics* and _italics_|| 粗体        | **bold** and __bold__|| 上标        | superscript^2^|| 下标        | HO~2~|| 代码        | `code`|| 删除线      | ~~strikethrough~~|| 链接        | [Markdown官网](https://markdown.com.cn/)||         | ## H2 || 短横线      | - || 长横线      |  ---|| 省略号      | ...|| 水平线      | ***|| 图片        | ![caption](pictures/mua.jpg)|| 表格        | 这不就是嘛|| 有序列表    | 1.  第一点|| 无序列表    | -   第一点|

效果展示如下:

名称显示
常规default
斜体italics and italics
粗体bold and bold
上标superscript2
下标HO2
代码code
删除线strikethrough
链接Markdown官网
## H2
短横线-
长横线
省略号
水平线***
图片
表格这不就是嘛
有序列表1. 第一点
无序列表- 第一点

深入学习Markdown详见:https://markdown.com.cn/

1.2 R Markdown 简介

R Markdown是R语⾔环境中提供的Markdown编辑⼯具,⽤R Markdown撰写⽂章,既可以像⼀般的Markdown编辑器⼀样编辑⽂本,也可以插⼊代码块,并将代码运⾏结果输出在Markdown⾥。这种格式我们称之为R Markdown格式,简称为Rmd格式,相应的源⽂件扩展名为.Rmd。输出格式可以是HTML、docx、pdf等。

对于经常使⽤R语⾔(不止R,也支持其他语言,如Python、SQL、Stan等)的人来说,比如我们,别人偶尔可能会需要复现我们的工作,那么这个时候,R Markdown就可以助我们一臂之力,以便于他人实现工作复现。可以说Rmd是又便捷又实用!

如果上述链接失效,可以在这里找到你想要的噢!

2.1 安装

R Markdown不需要R Studio,但建议使⽤R Studio,因为如果没有安装R Studio,就必须安装Pandoc,而R Studio已和它捆绑在⼀起,所以无需对其进行单独安装。

Rstudio中安装R Markdown软件包,可以通过下⾯任意⼀种⽅式:

# from CRANinstall.packages('rmarkdown')# install from GitHubdevtools::install_github('rstudio/rmarkdown')library(rmarkdown)

如果要⽣成PDF输出,则需要安装LaTeX。对于从未安装过LaTeX的R Markdown⽤户,建议安装TinyTeX

install.packages('tinytex')tinytex::install_tinytex()

TinyTex是谢益辉大神专为R Markdown开发的超轻量级的Latex环境,是⼀种轻便、可移植、跨平台、易于维护的LaTeX发⾏版。R中的配套软件包tinytex可以帮助我们在将LaTeX或R Markdown⽂档编译为PDF时⾃动安装缺少的LaTeX软件包,并确保将LaTeX⽂档编译正确的次数以解决所有交叉引⽤。

2.2 新建 R Markdown

  1. 点击Rstudio左上⾓的新建项⽬,选择R markdown⽂件格式,就可以建⽴⼀个R Markdown的编辑⽂件。 像这样:
    新建文件

  2. 在弹出的框⾥,可以填写R Markdown的Title、Author以及默认的输出⽂件格式,⼀般可以选择HTML、PDF、Word格式。
    创建界面

  3. 在新建的R Markdown⽂件⾥,主要包含三块内容:1.YAML;2.R Markdown⽂本;3.代码块。
    文件界面

  1. R studio 界面简单介绍

详见视频演示

2.3 R Markdown 的导出

导出方法:

2.3.1 手动导出

⼿动点击Knit按钮,选择导出格式类型即可,Rstudio⽀持导出PDF、html、word三种类型。
导出文件

界面如下:
导出界面

2.3.2 命令行导出

命令⾏导出主要依靠render实现,render函数主要包含下面两个参数:

render("FileName.Rmd")render(input = "./save/path/FileName.Rmd", output_format = "html_document")

2.4 代码输出

2.4.1 行内代码

详见视频演示

  1. 我们如果希望输出行内代码,只需要将需要输出的代码用一对反引号``包括起来即可,像这样:
r sum(1:5)`
  1. 也可以文本结合代码,如下:
数据之和为x <- rnorm(5)
  1. 更高阶的还有,比如:
date: `r Sys.Date()`date: 最近更新日期为`r format(Sys.time(), '%d %B, %Y')`

这样我们就可以随着我们编辑文档的时间动态生成日期。除了上面的写法,还可以这样:

2.4.2 代码块

R代码块⼀般通过{r}来插⼊,也可以使用快捷键:Ctrl+Alt+I / option + cmd + I,也可以直接点击右上方绿色的+C

详见视频演示

默认情况下代码和结果会在输出⽂件中呈现。如果通过参数来控制代码块运⾏结果的输出情况可以在{r}中设置。⼀般包括代码及运⾏结果的输出、图⽚表格格式定义等。

2.4.2.1 通过选项设置参数

输出信息选项

错误信息选项

全局设置

若R Markdown内的代码块存在⼀样的参数设置,则可以提前设计好全局的代码块参数。全局代码块通过knitr::opts_chunk$set函数进⾏设置,⼀般设置在YAML⽂件下⽅。注:局部参数设置优先级大于全局参数设置。

knitr::opts_chunk$set(echo = TRUE)

2.4.2.2 R studio 界面直接设置参数(部分但便捷)

导出界面

2.5 图片输出

详见视频演示

2.5.1 插⼊内部代码⽣成的图形

2.5.2 插⼊外部图形

图片不是由R代码生成,有两种方法插入:

  1. 使⽤Markdown语法![caption](path/to/image),你可以使⽤width和height属性来设置图像的⼤⼩。
![caption](xxx.png){width=50%}

注意:图⽚⽂件放的位置(如果和Rmd同⼀⽬录,可以直接xxx.png;如果在其他位置要加上相对路径)。

  1. visual状态下,直接外部拉⼊图形即可,会⾃动保存在相对⽂件夹的images文件夹中,或者点击图形按钮导⼊。
    插入外部图形

  2. 在代码块中使⽤knitr函数knitr::include_graphics()。图⽚尺⼨更改与插⼊R代码⽣成的图形的情况相同。

knitr::include_graphics("./pictures/inputfig.png")

2.6 表格输出

详见视频演示

2.6.1 插入外部表格

  1. 采用Markdown形式即可,如下:
    |表头|第二列|第三列|    |:--|:--|:--|    |第一行|1|2|    |第二行|4|3|    |第三行|5|6|

效果展示:

表头第二列第三列
第一行12
第二行43
第三行56

表格前面加回车,不然无法展示(项目符号同)。

如果在表格中插入一个|,表格就会混乱,因为它无法正确区别这个|是属于表格的一部分还是仅仅只是表示|。如下:

    |表头|第二列|第三列|    |:--|:--|:--|    |第一行|a|b|2|    |第二行|4|3|    |第三行|5|6|

错误效果展示:

表头第二列第三列
第一行ab
第二行43
第三行56

在表格中可以使用|(|结尾要加个分号;)来表示|

    |表头|第二列|第三列|    |:--|:--|:--|    |第一行|a|b|2|    |第二行|4|3|    |第三行|5|6|

正确效果展示:

表头第二列第三列
第一行a|b2
第二行43
第三行56
  1. visual状态下,可直接操作R Studio界面进行表格插入与设置,如下:

插入外部表格
设置插入表格
表格效果展示

2.6.2 插入内部代码生成的表格

详见视频演示

  1. 我们可以使用knitr包的kable函数,可以⽤来把数据框或矩阵转化成有格式的表格,⽀持HTML、docx、LaTeX等格式。
knitr::kable(exp_table)

格式调整详见参数,比如:digits设置小数点后位数,align设置排列方式。

  1. pander包的pander函数也可以将多种R输出格式转换成knitr需要的表格形式。
pander::pander(exp_table)

pander包在表中有中文时会出错。

  1. 其他包:tablestangramztablecondformat等等…

2.6.3 表格渲染

通过前⾯可以看到:⽤knitr::kable()输出表格结果其实不是⾮常美观,并且很多功能都不能实现。这时我们可以⽤kableExtrahuxtable等扩展包来美化表格,对字体大小、对齐方式、边框底纹、选择高亮等等进行设置。

kableExtra包的使用,详见:

更多包尽见:https://bookdown.org/yihui/rmarkdown-cookbook/table-other.html

R Markdowm作为制作可重复性报告的优秀⼯具,除了提供⽂档编辑、图表输出外,还有许多主题格式供我们选择。除了默认主题外,还可以通过加载rticlesprettydocrmdformatstuftecerulean等包获取更多主题格式。下⾯我们看看⼏类扩展包⾥的主题样式。

记得先安装!

详见视频演示

rticles可以更好地进行PDF及其他格式导出,其他包更适用于HTML格式导出。

  1. https://www.bilibili.com/video/BV1ib4y1X7r9
  2. https://rmarkdown.rstudio.com/lesson-1.html
  3. https://www.bookstack.cn/read/rmarkdown-cookbook-1.0-en/5d40b1b09165871a.md
  4. https://bookdown.org/yihui/rmarkdown/
  5. https://www.jianshu.com/p/4705a1dc8e5a
  6. https://www.jianshu.com/p/f71fac797a6c
  7. https://markdown.com.cn/cheat-sheet.html

来源地址:https://blog.csdn.net/weixin_43843918/article/details/128060062

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯