RMarkdown 使用注释使部分可选

Posted

技术标签:

【中文标题】RMarkdown 使用注释使部分可选【英文标题】:RMarkdown Using comments to make sections optional 【发布时间】:2022-01-23 04:12:42 【问题描述】:

是否可以在 RMarkdown 中以编程方式注释掉整个部分。例如,假设我有一部分报告:

### 2.1.   Heading

Blah blah blah my description, with `r variables` and other stuff.


#### Table 2.1.1. Sub heading

```r table_2_1_1

kable_2_1_1

```

现在基于代码中的布尔值,我想完全注释掉整个部分。我尝试将 r 变量放入报告中,例如“”,但这不起作用。

【问题讨论】:

那么,您是说如果您在第 1 节块中将 0 返回给给定变量,那么理想情况下您希望注释掉第 2 节? 这可能有用:Conditionally display block of markdown text using knitr. 【参考方案1】:

您可以将布尔值传递给 rmd 块中的 eval 以有条件地编织不同的 rmarkdown 代码块:

---
title: "Untitled"
author: "Matt"
date: "12/21/2021"
output: html_document
---

```r setup, include=FALSE
library(knitr)
knitr::opts_chunk$set(echo = TRUE)

should_i_evaluate <- F
```

```r header, eval = should_i_evaluate
asis_output("# My Header")
```

```asis, echo = should_i_evaluate
 Blah blah blah my description, with `r names(mtcars[1:3])` and other stuff.
```

```r cars, eval = should_i_evaluate
summary(mtcars)
```

should_i_evaluateTRUE

should_i_evaluateFALSE

【讨论】:

不错。那是一半。如果还有其他部分,是否也可以删除文本。例如,等等等等。 这只是通用的yaml,它是我默认设置的一部分——我相信你的看起来会有所不同。在我回答的最上面,您可以看到title: "Untitled"author: "Matt"。如果您希望它为空白,或者您想要的任何其他文本,您只需将它们编辑为 "" 抱歉,我意识到这一点并迅速编辑了我的评论。 不用担心 - 我更新了解决方案,您可以做几乎相同的事情,但将文本包含在 asis 块中,并将您的布尔值提供给 echo 而不是 eval 是的!再次更新 - 您需要包含 library(knitr) 并使用 asis_output() 添加一个 R

以上是关于RMarkdown 使用注释使部分可选的主要内容,如果未能解决你的问题,请参考以下文章

在 Rmarkdown html 文档中并排时使图形大小(宽度和高度)相同

Rmarkdown YAML 中的引号和内联 R 代码

更改 rmarkdown 生成的 PDF 中的字体

如何使用主包的虚拟化文件系统/注册表使可选包中的应用程序运行?

Drupal Views 将图像字段输出为可选链接

C语言中多行注释的用法