用R Markdown 生成数据分析报告

为了创建 R Markdown报告,打开text文件,并将它保存为.Rmd 文件。File > New File > Text File

确保保存成 .Rmd文件, RStudio IDE能够很大程度上帮助你完成整个任务.,你可以保存通过File > Save。修改扩展名。

R Markdown 报告由一下3部分组成:

  1. text文本
  2. knitr 处理 R code
  3. YAML的渲染参数

本文将逐一介绍:

处理文本

.Rmd 文件包含text,Markdown是一种处理普通格式文本的公约,包括一下特征:

  • 加粗和斜体文本
  • 列表
  • title
  • 超链接
  • 更多

这个协议虽然很朴素,但是,制作的文本非常易读,对下文文本采用了了本协议,请看

# Say Hello to markdown

Markdown is an **easy to use** format for writing reports. It resembles what you naturally write every time you compose an email. In fact, you may have already used markdown *without realizing it*. These websites all rely on markdown formatting

* [Github](www.github.com)
* [StackOverflow](www.stackoverflow.com)
* [Reddit](www.reddit.com)

编写过程中展示了如何使用 markdown:

  1. headers - 使用一个或者多个 # 在文本的开始阶段,例如: # Say Hello to markdown. 单个#意味着文本是一级标题,两个#代表二级标题,以此类推.

  2. 斜体和加粗字体 - 对文本两侧加一个星号得到斜体字体,例如上文中:*without realizing it*. 用双星号包围文本得到加粗字体, 例如:**easy to use**.

  3. lists - 每个要点之前用星号,正文与要点之间留空行

      This is a list
    
      * item 1
      * item 2
      * item 3
      
    

    This is a list

    扫描二维码关注公众号,回复: 5444754 查看本文章
    • item 1
    • item 2
    • item 3
  4. hyperlinks - 1.用中括号包围网站名称,2.用括号包围具体链接,然后连接在一起使用,例如:[Github](Build software better, together).

    你可以查看更多的Mardown 操作指导:Markdown Quick Reference guide
    1.open a .md or .Rmd file in RStudio. 
    2.打开?
    3.选择 “Markdown Quick Reference”
    4.在帮助面板即可查看

渲染

为了将markdown文件转化为HTML, PDF, 或 Word document,单机编辑面板的工具“Knit” 控件,出现下拉菜单,选择你要的转化文件类型。

当你选定格式后, rmarkdown 将把你的文本转化成新格式文件。rmarkdown能够采用markdown语法的文件变更格式。

一旦文件被渲染,RStudio将预览目标格式结果,并保存在工作目录中。

下图展示了3种最终格式的预览图:

Note: RStudio不能直接转化PDF和word,需要装其他软件。

knitr嵌入R代码

knitr包 能够兼容markdown语法,尤其包含执行R代码的能力。

渲染报告的过程中, knitr 将执行代码并将输出的结果展示。可以选择性的展示:之展示代码,只展示结果,代码与结果同时展示。

想嵌入R代码在报告中,用两行```将代码包围,在第一个``` {r}, 用于通知knitr下面的将是R代码,具体模板如下图:

Here's some code
```{r}
dim(iris)
```

在渲染文档的时候, knitr将运行代码并将结果追加在代码之后,knitr提供格式和语法高亮展示R代码和代码运行结果。

作为上面R代码的markdown结果:

如果不想将结果results 追加到报告中,可以将eval = FALSE 参数加入大括号中,这样做的结果就是只把代码放入报告中,而不执行。

只将结果放入报告中,参数echo = FALSE 而不显示代码:

echo = FALSE同样实用于作图:

参数echo 和 eval不仅仅用于自定义code, 你可以通过 rmarkdown 和 knitr 进行学习。

行间代码

嵌入R代码到文本当中,在代码的两侧用点’来包围,如下图:

Two plus two equals `r 2 + 2`.

knitr 将用代码结果代替R代码,如下图所示:

YAML 渲染参数

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

---
title: "Untitled"
author: "Garrett"
date: "July 10, 2014"
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会输出类型加入默认选项菜单。

猜你喜欢

转载自blog.csdn.net/u012108367/article/details/76445981