[R语言]RMarkdown: 入门与操作

白色玫瑰 程序猿

时间: 2023-07-11 阅读: 1 字数:7380

{}
RMarkdown为我们的数据分析创建一个清晰美观的报告,它能够包含代码,图,表,说明,查看的人能够很清楚地理解。RMarkdown利用Markdown的语法,能够被方便的转成其他类型(如html或pdf)的文件。如果要用RMarkdown,...

<a href="https://cloud.tencent.com/developer/article/1810624" title="Rmarkdown入门汇总">Rmarkdown入门汇总</a>

R Markdown介绍

RMarkdown为我们的数据分析创建一个清晰美观的报告,它能够包含代码,图,表,说明,查看的人能够很清楚地理解。

RMarkdown利用Markdown的语法,能够被方便的转成其他类型(如html或pdf)的文件。

如果要用RMarkdown,首先要下载R和RStudio。

R Markdown是通过R语言制作动态文档的文件格式。

R Markdown文档编辑需要 rmarkdown包,rmarkdown安装需要RStudio编辑器环境,但是你可以以<a href="https://link.zhihu.com/?target=http%3A//shiny.rstudio.com/articles/www.github.com" title="github">github</a>途径来下载rmarkdown,并安装。

devtools:install_github("rmarkdown", "rstudio")

R Markdown是资源代码丰富并高可用的文件,你可以将通过一下两种方式改变R Markdown文件格式。

knit - knit 文件. rmarkdown包调用knitr包, knitr 将运行所有的R代码,并将得到的结果追加到代码之后,这种工作方式非常节省实践并且报告也可复用。传统的,作者制作包含图形的报告。作者需要制作图形,保存为文件,然后copy并粘贴到最终的报告中,这个工作严重依赖人力,如果数据有变更,那么作者需要重复整个过程来更新图形。现在,再R Markdown的模板中,每个报告都包含制作图形,表格,数字所需的代码,作者可通过knit来自动完成更新。 convert - convert 文件。rmarkdown包借助pandoc来将文件转变成新的格式,例如,你可以转变Rmd文件成HTML, PDF, 或Microsoft Word文件,你甚至可以转变成 HTML5 或 PDF 幻灯片,rmarkdown保持文本,代码结果与Rmd文件中的结构一致。这些转变能力能让你markdown编辑,并方便的改变格式,你可以将R代码放入knit,并以任何一种格式分享个其他人。

在实际应用中,作者经常同时用knit 和 convert文档。在本文,将用render 命令来对R markdwon文件执行 knitting 和 converting过程。

你可以认为的用render作用到R Markdown 文件, 如: rmarkdown::render(). 上面的代码渲染成HTML文件格式之后的结果如下图。

rmarkdown::render(),R markdown与RStudio深度合作

<a href="https://link.zhihu.com/?target=http%3A//shiny.rstudio.com/articles/rmd-integration.html" title="integrated into the RStudio IDE">integrated into the RStudio IDE</a>

,因为,你可以通过按键来完成以上命令。

R Markdown下载和文件创建

install.packages("rmarkdown")
library(rmarkdown)

下载完成后,打开RStudio,通过File -> New File -> R Markdown创建一个Rmd文件。

(也可以直接进行第二步,会自动进行安装)

R Markdown文件中的三个模块

The YAML Header

在所有RMarkdown文件中的头部都会有一个YAML头模块,利用---分隔开,包含标题,作者,日期以及文件类型。

---
title: "RMarkdown test"
author: Gremmie
date: 13/12/2022
output: html_document
---

Code Chunks

在YAML头模块后j是代码块,可以写自己的代码,相应的解释以及输出。代码块需要利用'''来进行分割,可以利用Run只跑这一段代码。这一部分的书写和R一样,只是要注意分块要根据功能来,不然会不美观。

```{r car}
summary(cars)
 
 
上述代码块的名字为car。除此之外,数据,文件,以及包如果要包含,也要写到代码中。
 
 
上述方法得到的最后结果代码块是会显出出来的,如果不想显示代码块,只显示结果的话可以利用echo。如果在给定变量的时候不想显示的话,可以利用include。隐藏警告可以利用warning。
 
 
plot(pressure)
 
 
## knitr嵌入R代码
 
 
knitr包 能够兼容markdown语法,尤其包含执行R代码的能力。
 
 
渲染报告的过程中, knitr 将执行代码并将输出的结果展示。可以选择性的展示:之展示代码,只展示结果,代码与结果同时展示。
 
 
想嵌入R代码在报告中,用两行```将代码包围,在第一个``` {r}, 用于通知knitr下面的将是R代码,具体模板如下:
 
 

Here's some code

dim(iris)
 
 
在渲染文档的时候, knitr将运行代码并将结果追加在代码之后,knitr提供格式和语法高亮展示R代码和代码运行结果。
 
 
作为上面R代码的markdown结果:
![](https://img-blog.csdnimg.cn/img_convert/9d764971776d4e2ec070c9f5a02d6fbb.png)
 
 
如果不想将结果results 追加到报告中,可以将eval = FALSE 参数加入大括号中,这样做的结果就是只把代码放入报告中,而不执行。
![](https://img-blog.csdnimg.cn/img_convert/8d661f4a90e3cf0304f5026a4b13f057.png)
 
 
只将结果放入报告中,参数echo = FALSE 而不显示代码:
![](https://img-blog.csdnimg.cn/img_convert/ccda890b47a4e3089d532b41e74dbe6b.png)
 
 

 echo = FALSE同样实用于作图:
![](https://img-blog.csdnimg.cn/img_convert/dcf6b2a31df2f4e9843da27adc32cab8.png)
 
 
参数echo 和 eval不仅仅用于自定义code, 你可以通过 <a href="https://link.zhihu.com/?target=http%3A//rmarkdown.rstudio.com/authoring_rcodechunks.html" title="rmarkdown">rmarkdown</a> 和 <a href="https://link.zhihu.com/?target=http%3A//yihui.name/knitr/options" title="knitr">knitr</a> 进行学习。
 
 
### 行间代码
 
 
嵌入R代码到文本当中,在代码的两侧用点’来包围,如下:
 
 

Two plus two equals r 2 + 2.

 
 
knitr 将用代码结果代替R代码,如下图所示:
![](https://img-blog.csdnimg.cn/img_convert/82ecf9265cd55102f0df503aa254219d.png)
 
 
## 图片和表格插入
 
 
直接将plot和表格的名称写入Code Chunks即可。
 
 
其他插入表格的方式
 
 
kable
 
 
library(knitr)
kable(cars, digits=2)
 
 
pander
 
 
library(pander)
pander(cars,digits=2)
 
 
手动画表(一脸认真
 
 
Plant Temp. Growth
A 20 0.65
B 20 0.95
C 20 0.15
 
 
文本格式
 
 
对于不同的文本格式,语法如下:
 
 

斜体 粗体 'code'

一级标题

二级标题

  • 用点列举
  1. 顺序列举 Link $formula$ ```

YAML 渲染参数

YAML header将决定如何展现你的 .Rmd file.文件,用两个 --- 包围,如下:

---
title: "Untitled"
author: "Gremmie"
date: "July 10, 2022"
output: html_document
---

Some inline R code, `r 2 + 2`.

output: 决定最后的文件类型。

output: 选择其中一种类型的文件类型

html_document, pdf_document, word_document,

RStudio IDE knit更加方便的进行设置。

幻灯片:

可以将文档转换为幻灯片:

参数设定output: ioslides_presentation 创建ioslides (HTML5)幻灯片 参数设定output: beamer_presentation 创建 a beamer (PDF) 幻灯片

Note: 默认情况下RStudio编辑器中knitr没有默认选项,先在命令中修改输出类型,RStudio会输出类型加入默认选项菜单。

具体参数详见<a href="https://link.zhihu.com/?target=http%3A//rmarkdown.rstudio.com/html_document_format.html" title="rmakdown.rstudio.com">rmakdown.rstudio.com</a>

总结

R Markdown 提供快速,可复用的报告方式,可以在markdwon中编写报告,并用knitr嵌入代码,可以随时更新代码,最终的文档可以转变成任何文件类型,

<a href="https://link.zhihu.com/?target=http%3A//shiny.rstudio.com/articles/interactive-docs.html" title="Introduction to interactive documents">Introduction to interactive documents</a>, 将教你如何将shiny的互动元素加入到markdown中。

原文地址:https://blog.csdn.net/qq_63511424/article/details/128311675?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168906546316800197082985%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168906546316800197082985&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-10-128311675-null-null.142^v88^insert_down38v5,239^v2^insert_chatgpt&utm_term=markdown

本文章网址:https://www.sjxi.cn/detil/5e13b5c2b8444601b38099791fdbdb82

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号