其他分享
首页 > 其他分享> > RStudio_用R Markdown生成你的R语言数据分析报告

RStudio_用R Markdown生成你的R语言数据分析报告

作者:互联网

R Markadown 作为一款通过R语言创建动态文档的写作排版工具,为数据科学提供了现成的写作框架。通过 R Markdown 不仅可以运行和保存R代码,还可以生成高质量的数据分析报告并以HTML、PDF或者word的形式分享。

 

 

1

get started

 

很早就对R语言可以制作高质量的报告有所耳闻,但也没有很强的意愿去研究一番。究其缘由在于写公众号时无法不会优雅的插入代码块,便有意去看看R Markdown 的效果如何。首先要说明的是 R Markdown 是基于Rstudio环境的,平时一直在强调R语言和R软件本身,对Rstudio并没有过多提及,其实Rstudio是一款相当优越的R语言GUI,对于像我这样不喜欢MATLAB的人而言,Rstudio简直就是天降神器。R Markdown 的亮点在于其本身的语法环境运行的R代码可以保存并优雅的插入文档中,相应的文档也可以通过knit转化为HTML、PDF和word等规范化的文本格式。

R语言中有rmarkdown包来支持整个报告的生成过程,直接安装即可。

     install.packages("rmarkdown")  

首先在Rstudio中创建一个txt文档并将其另存为.Rmd格式:

0?wx_fmt=png

创建完 .Rmd格式文档后,我们就可以着手写一份基于 R Markdown 的报告啦。

 

 

2

create R Markdown

 

 

通常而言 .Rmd文档由 txt文本、嵌入式的R代码块以及相应的文档渲染参数YAML组成。当我们在Rstudio中打开一个.Rmd 文档并点击运行时,相应的代码和运行结果会被同时保存,也可自由插入后续代码。之后可以由knit将结果通过pandoc转化为指定的文档格式。R Markdown 的运作流程如下:(图片来自Rstudio官方R Markdown帮助手册)

0?wx_fmt=png

R Markdown文本处理

R Markdown 有自身文本格式规范,对于标题、列表、超链接以及字体等都有相应的格式约束,先看一例文本:

0?wx_fmt=png

相应的HTML输出效果为:

0?wx_fmt=png

由图中我们可以看出Pandoc's Markdown 的一些文本格式规范和YAML渲染参数:

● 双虚线里的内容规定了报告的标题、输出格式。

● 单星号*代表斜体字体,双星号**代表加粗字体。

● #代表标题,单#表示一级标题,双##表示二级标题。

● 相应的我们还可以在报告中按照要求添加列表、图片、链接、LaTeX公式、表格、参考文献等等报告所需的其他元素。

 

报告中嵌入代码块(code chunks)

R Markdown 中嵌入R代码也是极其方便的。Rstudio有三种方式可以嵌入代码块:

● 快捷键Ctrl + Alt + I

● 直接在工具栏点击Insert命令

● 手动输入 ```{r}```

展示一下R Markdown 中嵌入代码块的效果:

0?wx_fmt=png

相应的knit生成HTML报告的效果:

0?wx_fmt=png

另外还有一些代码显示的选择项:

● include=false 代码和结果仅显示但均不显示。

● echo=false 不显示代码仅显示结果

 

knit渲染输出格式

为了将报告输出为HTML、PDF或者word等规范的文档格式,我们需要点击knit转化功能。 ** **

0?wx_fmt=png

选定相应的文本格式后,knit就生成对应的文本并保存到工作目录中。这样一个简单的R Markdown 报告就做好了,排版简约又美观~ ** **

当然了,要想用R Markdown做一份美观完整的数据分析报告就需要花些时间啦,R Markdown也远不止小编写的这些功能,Rstudio官方的R Markdown帮助文档介绍了更多的包括R Notebooks、幻灯片、交互式文档等内容,有兴趣的同学可以自行去参考学习。

 

 

参考资料:

  1. http://rmarkdown.rstudio.com/

  2. https://zhuanlan.zhihu.com/p/24884324

 

 

0?

640?wx_fmt=jpeg

扫码关注数据科学家养成记

 

 

 

 

 

 

 

 

标签:数据分析,Markdown,报告,代码,文档,RStudio,Rstudio,knit
来源: https://www.cnblogs.com/gc2770/p/14982317.html