Rmarkdown 块的多组(类型)的多组全局选项

The*_*aya 5 r knitr r-markdown

我的文档中有很多块,其中一些块并排生成 2 个图,一些并排生成 3 个图,其他一些仅用于显示结果(其中一些甚至回显代码)。我可以按如下方式设置文档的全局knitr选项;

{r setup, include = FALSE, cache = FALSE}
    knitr::opts_chunk$set(
      comment = NA,
      fig.width = 7,
      out.width = 50%,
      warning = FALSE
    )
Run Code Online (Sandbox Code Playgroud)

但我想设置多组此类全局选项,以便一些针对并排双数字的数字块,一些针对结果输出。

由于选项只是一个列表,我可以创建各种选项的多个列表,但我想知道如何将这些选项包含在这些单独的块中?

CL.*_*CL. 4

我建议使用选项挂钩来完成这项工作。每当设置某个块选项(即不是NULL)时,相应的选项挂钩就会运行并设置所需的块选项。

以下示例定义了两组规则:“chatty”在输出前面打印提示和一个非常有趣的符号,而“silent”则抑制提示并在输出前面不打印任何内容。

同样,您可以根据需要设置fig.width和。out.width

```{r, echo = FALSE}
library(knitr)
opts_hooks$set(chatty = function(options) {
  options$prompt = TRUE
  options$comment = ";-)"
  return(options)
})

opts_hooks$set(silent = function(options) {
  options$promt = FALSE
  options$comment = ""
  return(options)
})
```

# Demo

## Default

```{r}
print("Default")
```

## Chatty

```{r, chatty = TRUE}
print("chatty")
```

## Silent

```{r, silent = TRUE}
print("silent")
```
Run Code Online (Sandbox Code Playgroud)