【问题标题】:How to comment out lines with knitr::spin如何用 knitr::spin 注释掉行
【发布时间】:2013-07-15 21:36:31
【问题描述】:

当在包knitr 中使用spin 时,如何简单地将事物注释掉以使其不可见以旋转? roxygen 样式行 (#') 被视为出现在报告中的行。通常的 R 注释 # 被视为 R 注释并出现在代码块中。只是文本的行,开头没有特殊字符,会导致错误。以LaTeX 注释% 开头的行会导致错误。但是,块开头之后的纯行被视为块的一部分并出现在代码块中(#+#-)。那么是否有一个字符/符号可以真正意义上的标记注释行?

编辑:如果必须发明它,LaTeX 注释字符 % 将非常方便。只是说说而已。

【问题讨论】:

  • 我想我没有完全回答你的问题——你想注释掉代码行还是普通的文本行?我回答后者。如果您希望省略某些代码行,可以使用echo=-numbers,如下面的 Romain 所述。
  • 谢谢一辉。我认为很好的功能(用于故障排除/方便)是能够阻止任何类型的行,以便spin 解析器只是简单地忽略它。本着通用 cmets 的精神,可以轻松添加/删除行首的单个字符。如果这听起来很有用,我可以将它放在功能请求中。
  • 功能请求已收到。现在开始编码。
  • 请测试下面描述的新功能。谢谢! (欢迎提出建议)

标签: r knitr


【解决方案1】:

更新:我在knitr 1.3.2 中为spin() 添加了cmets 的功能(有关安装说明,请参阅其Github repos)。现在你可以

#' normal text
#' 

# /* a comment here
runif(10)
# and here */

rnorm(5)
#' text continues

旧答案:

这取决于输出格式。例如,对于 LaTeX,您使用 %:

#' normal text
#' 
#' % a LaTeX comment here
rnorm(5)
#' text continues

对于 HTML,它是 <!-- -->:

#' normal text
#' 
#' <!-- an HTML comment here -->
rnorm(5)
#' text continues

【讨论】:

  • 谢谢一辉,您的时间非常慷慨。这是一个非常有用的功能,它的工作原理与宣传的一样。布莱恩
【解决方案2】:

一个冗长的解决方案是通过相应的 echoeval 参数“回显并评估”违规行。

#' Regular text

#+ first_chunk, echo = -2, eval = -2
rnorm(10)
runif(20)

#' Text after the chunk

【讨论】:

  • 嗯...当然,我希望有一个解决方案,我可以选择文本行并添加所需的字符...不过谢谢。
猜你喜欢
  • 2015-12-23
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 2023-03-12
  • 2014-12-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
相关资源
最近更新 更多