簡體   English   中英

如何在R markdown中注釋掉R代碼塊?

[英]how to comment out R code blocks in R markdown?

我正在編輯一個包含大量R代碼塊的R markdown文件(.Rmd),將這些代碼塊的組移動到“子”文檔中,以簡化重新排列部分(如果沒有別的話)。 當我將節轉換為子文檔時,我想測試新的子文檔而不運行其余的塊和其他子節點。 但是,當我用來注釋掉那些部分時,R塊仍然會運行(但是RStudio使這些部分“看起來”就像它們被注釋掉一樣)。

如果我消除前面和后面的“```(即代碼塊表示符),則注釋工作正常。 但是,正如我所說,我有很多代碼塊,比較方便。

那么,我如何注釋掉R代碼塊以便它們不會運行?

在RStudio中,如果從(至少)R代碼塊上方的一行(至少)突出顯示R代碼塊的最后一行1然后鍵入ctrl-shift-C(在OSX或Windows中)或命令 - shift-C(僅限OSX),RStudio將在塊上放置html注釋標簽。

例如:

```{r cars}
summary(cars)
plot(pressure)
```

突出顯示此內容並鍵入ctrl-shift-C后,這將變為:

<!-- ```{r cars} -->
<!-- summary(cars) -->
<!-- plot(pressure) -->
<!-- ``` -->

要有選擇地注釋掉多個塊,您可以使用RStudio查找/替換工具並選中正則表達式選項。 它需要兩個替換步驟(它可能只需一步完成,但我不知道如何在RStudio中跨多行捕獲正則表達式)。

第1步:注釋掉一個或多個塊的第一行:

發現: (```{r.*)
替換: <!--\\1

第2步:注釋掉一個或多個塊的最后一行:

找: (```)$
替換: \\1-->


1您必須在突出顯示中包含塊上方的行。 否則,RStudio會在塊的每一行的開頭放置R注釋標記( # ),注釋行將在輸出文檔中顯示為純文本。

在Rmarkdown文檔中,我們可以將某些選項應用於每個R代碼塊,以確定內部代碼是否將運行,打印,顯示錯誤消息等。

要使特定代碼塊不運行,請使用:

```{r cars, eval=FALSE}
summary(cars)
```

要使特定代碼塊不運行或打印到創建的文檔中,請使用:

```{r cars, eval=FALSE, echo=FALSE}
summary(cars)
```

“TRUE”用於相反的效果,是默認值。

如果你需要注釋掉許多代碼塊,你可以從@ eipi10(謝謝)中獲取建議,並使用find / replace並選擇正則表達式選項。 因此,查找將是“(````{r。*)',並且替換將是”\\ 1,eval = FALSE,echo = FALSE}“(沒有雙引號)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM