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

浏览: 9533

    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格式:

image.png

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

2,create R Markdown

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

image.png

 R Markdown文本处理

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

image.png

   相应的HTML输出效果为:

image.png

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

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

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

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

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

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

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

    ●  快捷键Ctrl + Alt + I 

      直接在工具栏点击Insert命令

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

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

image.png

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

image.png

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

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

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

knit渲染输出格式

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

image.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


推荐 1
本文由 鲁伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册