相关文章推荐
博学的豌豆  ·  Team Foundation ...·  1 年前    · 
冷冷的红金鱼  ·  The yyerror function·  1 年前    · 
备案 控制台
学习
实践
活动
专区
工具
TVP
写文章
专栏首页 生信菜鸟团 R tips:RMarkdown代码块的控制选项
1 0

海报分享

R tips:RMarkdown代码块的控制选项

RMardkown的代码在渲染时可以得到更加精细的控制,诸如代码是否运行、是否显示、如何显示、文本是否输出、如何输出、图片是否显示、如何显示等等。

详细的资料可以参考Knitr的Chunk options:https://yihui.org/knitr/options/。这里主要根据个人经验展示比较常见的格式控制。

I 代码

eval

是否运行代码块,有些代码块是不运行的,仅仅是为了展示使用。

RMarkdown的代码选项是接受R变量的,所以可以根据特定条件去控制一个代码块是否执行。

下面的RMarkdown代表根据isShow的结果是否大于0来决定是否执行第二个代码块。

```{r,include = FASLE}

isShow <- rnorm(1) > 0

```

```{r, eval = isShow}

{eval some code}

```

echo

是否在结果中展示代码块,如下所示代码表示不在结果文件(如html文档)中展示代码,但是会展示代码的结果:文本或图片等等。

```{r, echo = FALSE}{eval some code}```

tidy

是否在显示代码的时候做格式化处理,如果为TRUE,那么会使用formatR格式化R代码:调整缩进、换行等等。

II 文本

result

比较重要的一个参数,用于控制文本输出是否显示以及如何显示,有四个可选项:markup、asis、hold、hide。

markup代表是否对输出作一定的修饰,是默认选项,比如对输出的向量加上```的代码块的符号。

asis是非常有用的选项,可以使用代码模拟Markdown语法,比如如下的代码可以生成三级标题,它等同于在RMarkdown中书写### 测试三级标记可以通过代码产生 `。(###的正确渲染需要前后都是空行,因此还使用cat打印了两个空行)

```{r, result = "asis"}cat("  \n")cat("### 测试三级标记可以通过代码产生  \n")
cat{"  \n"}```

hold会将所有文本收集起来,放置到文件最后输出。

hide隐藏文本输出。

include

如果为FALSE,会隐藏本代码块和代码块输出,但是会执行代码内容,可用于做初始化,比如在RMarkdown的开始位置:

```{r setup, include = FALSE}
# 导入工具包
{import some libraries}
# 设置默认参数
knitr::opts_chunk$set(