如何在R markdown中注释R代码块?

Wil*_*Fed 7 comments r rstudio r-markdown

我正在编辑一个包含大量R代码块的R markdown文件(.Rmd),将这些代码块的组移动到"子"文档中,以简化重新排列部分(如果没有别的话).当我将节转换为子文档时,我想测试新的子文档而不运行其余的块和其他子节点.但是,当我使用注释掉那些部分时,R块仍然会运行(但是RStudio使这些部分"看起来"就像它们被注释掉一样).

如果我消除前面和后面的"```(即代码块表示符),则注释工作正常.但是,正如我所说,我有很多代码块,比较方便.

那么,我如何注释掉R代码块以便它们不会运行?

eip*_*i10 11

在RStudio中,如果从(至少)R代码块上方的一行(至少)突出显示R代码块的最后一行,1然后键入ctrl-shift-C(在OSX或Windows中)或命令 - shift-C(仅限OSX),RStudio将在块上放置html注释标签.

例如:

```{r cars}
summary(cars)
plot(pressure)
```
Run Code Online (Sandbox Code Playgroud)

突出显示此内容并键入ctrl-shift-C后,这将变为:

<!-- ```{r cars} -->
<!-- summary(cars) -->
<!-- plot(pressure) -->
<!-- ``` -->
Run Code Online (Sandbox Code Playgroud)

要有选择地注释掉多个块,您可以使用RStudio查找/替换工具并选中正则表达式选项.它需要两个替换步骤(它可能只需一步完成,但我不知道如何在RStudio中跨多行捕获正则表达式).

第1步:注释掉一个或多个块的第一行:

查找:(```{r.*)
替换:<!--\1

第2步:注释掉一个或多个块的最后一行:

查找:(```)$
替换:\1-->


1您必须在突出显示中包含块上方的行.否则,RStudio会#在块的每一行的开头放置R注释标记(),注释行将在输出文档中显示为纯文本.


www*_*www 5

在 Rmarkdown 文档中,我们可以对每个 R 代码块应用某些选项,以确定内部代码是否将被运行、打印、显示错误消息等。

要不运行特定的代码块,请使用:

```{r cars, eval=FALSE}
summary(cars)
```
Run Code Online (Sandbox Code Playgroud)

要使特定代码块不运行或打印到创建的文档中,请使用:

```{r cars, eval=FALSE, echo=FALSE}
summary(cars)
```
Run Code Online (Sandbox Code Playgroud)

“TRUE”用于相反的效果并且是默认值。

如果您有许多需要注释掉的代码块,您可以从@eipi10(谢谢)那里得到建议,并在选择正则表达式选项的情况下使用查找/替换。因此,查找将是“(```{r.*)”,替换将是“\1, eval=FALSE, echo=FALSE}”(不带双引号)。

  • 您可以使用带有查找/替换工具的`regex` 选项更快地实现这种方法。查找模式为`(```{r.*)}`,替换模式为`\1, eval=FALSE, echo=FALSE}`。 (3认同)