R Markdown 使用方法笔记

记录一些R Markdown中与一般的Markdown不同的用法。

1.代码块设置

  • echo=FALSE最终的文档中不会显示代码,只会显示代码运行的结果和图像
  • results="hide"隐藏结果,显示图像
  • include=FALSE隐藏代码和运行的输出(写报告时可使用include=FALSE来隐藏所有的代码,从而突出图像。)
  • fig.show="hide" 隐藏图像
  • 对于图像,可以通过fig.widthfig.height来设置宽和高,举例:
```{r scatterplot, fig.width=8, fig.height=6}
plot(x,y)
  • 使用include=FALSE隐藏所有的代码、结果和图像,同时使用include=TRUEresults="hide"则会隐藏结果显示图像
  • eval=FALSE显示代码而不显示运行结果
  • 表格输出设置:
```{r, results='asis'}
knitr::kable(mtcars)

2.全局代码块设置

避免每次使用代码块都重复敲代码来设置代码块,可按如下设置初始代码块:

```{r global_options, include=FALSE}
knitr::opts_chunk$set(fig.width=12, fig.height=8, fig.path='Figs/',
                      echo=FALSE, warning=FALSE, message=FALSE)

warning=FALSEmessage=FALSE最终文档中不会显示R软件任何的提示信息, fig.path='Figs/'把图片保存在Figs子文件夹中(默认情况下图片不会被保存,注意Figs后面的斜线“/”不可少,否则图片会以Figs为文件名开头被保存在主目录中)。
如果在某个特定代码块中需要不一样的设置,可以单独设置该代码块,如:

```{r a_taller_figure, fig.height=32}
par(mfrow=c(8,2))
for(i in 1:16)
  plot(x[,i], y[,i])

在给合作者的报告中,可能会使用include=FALSE, echo=FALSE作为全局设置,生成图像时使用include=TRUE,这样可以只输出图像。

3.行内代码(In-line code)

在报告中不要写成“There are 168 individuals.” 可以插入一点代码,比如:

There are `r nrow(my_data)` individuals.

又比如:

The estimated correlation between x and y was `r cor(x,y)`.

在R Markdown中,行内代码以 ``r 和来表示,两者间的代码会运行并显示结果。
注意:要确保行内代码没有跨行。

4.YAML header

YAML 是一种用于指定数据的简洁的文本格式, 与JSON有些类似但可读性更强。

在R Markdown文档开头,编写如下一段代码:

---
title: "An example Knitr/R Markdown document"
author: "Karl Broman"
date: "3 Feb 2015"
output: html_document
---

那么,文档的结尾会包含格式化的标题、作者名和日期。

author: "[Karl Broman](http://kbroman.org)"

甚至是R代码:

date: "`r Sys.Date()`"

output: html_document将RMD转化为html,pdf_document 或者word_document分别转为PDF和Word .docx文件。

5.其他关于代码块设置的代码问题

  • 必须写在一行内,不含空格和句点,可以使用-和_
  • fig.path="abc"而不是fig.path=abc, and out.width='\\textwidth'而不是out.width=\textwidth
  • 使用TRUE/FALSE 而不是true/false

[参考文献]:

  1. http://kbroman.org/knitr_knutshell/pages/Rmarkdown.html
  2. https://yihui.name/knitr/options/#package_options
  3. http://rmarkdown.rstudio.com/authoring_rcodechunks.html
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容