在 R Markdown(Rmd 文件)中注释文本

143
在 R Markdown(.Rmd)文件中,如何注释掉未使用的文本? 我指的不是 R 代码块中的文本,而是一般文本,就像在 LaTex 中使用%一样。

2
最初被关闭为重复问题,现在重新开放,因为Rmarkdown可能提供了Markdown不支持的替代选项。 - baptiste
这个问题在这里得到了广泛解答:https://dev59.com/t2445IYBdhLWcg3wgqnT - Chema_arguez
5个回答

202

我认为您应该能够使用常规的HTML注释:

<!-- regular html comment --> 

这个方案对你有效吗?


8
奇怪的是,在这些HTML注释中,内联R代码会尝试进行评估。例如,<-- Some text with \r mean(x)` inline code -->` 可能会在Knit上导致“未找到blah”的错误,因为内联代码被意外地评估了。请注意不要更改原始含义,并使翻译易于理解。 - Brian D
我记得看到谢益辉提到,让knitr识别注释字符可能会太困难,因为knitr不负责将文档渲染为HTML或PDF。我认为HTML注释字符只能在编织后由pandoc / rmarkdown处理。 - randy

38

可以在文档的任何位置使用额外的yaml块,并用#注释掉。

---
title: "Untitled"
output: html_document
---

No comment.

---
# here's a comment
# ```{r}
# x = pi
# ```
--- 

注意,这并不会阻止knitr评估内联r代码。


24

拖动您想要注释的行,然后按下 SHIFT+CMD+C (macOS),SHIFT+CTRL+C (Windows)。这是 R Markdown 编辑器(R Studio)注释的快捷方式。


11
对我来说是Ctrl+Shift+C。谢谢! - Evan Rosica
2
我正在运行Windows 10,对我来说也是Ctrl+Shift+C。谢谢! - HelloGoodbye
2
@EvanRosica,你好再见,谢谢你的信息,我编辑了我的答案,明确添加了Windows快捷方式。 - z0nam
这可能适用于使用RStudio的人,但不适用于使用其他编辑器或IDE编写Rmarkdown代码的人 - 例如,我使用Notepad ++,这个快捷方式当然对我没有帮助。 - Stephan Kolassa
OP在R Markdown文档的正文文本中指定了标题,而不是代码块。在正文文本中添加井号将导致文本被格式化为标题。 - undefined
之前在这里留了一个关于这只适用于代码块的评论,但是刚刚在RStudio中测试了一下,发现它在应用于正文文本时确实会添加HTML注释标记。也许值得编辑这个答案以澄清这一点。 - undefined

0

你可以通过将代码放在 if(F){} 语句中来随时关闭它。


0
我们可以使用
# Converted R Markdown code chunk in .Rmd file
    
`r ''````{r stream, eval=FALSE}
strm <- FastqStreamer("a.fastq.gz")
repeat {
  fq <- yield(strm)
  if (length(fq) == 0)
    break
  ## process chunk
}

这是从一个https://github.com/rstudio/rmarkdown-book/blob/main/03-documents.Rmd bookdown中找到的,我们想要一个代码块在编织时不执行。
这解决了你的问题吗?如果有任何问题,请告诉我。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接