R:注释掉代码块

时间:2012-02-02 05:41:53

标签: r comments

  

可能重复:
  R: Multiline Comment Workarounds?

我想在R中注释掉几行代码。有没有办法做到这一点而不必在每一行之前加一个# - 有点像SAS中的/* blocked out code */

5 个答案:

答案 0 :(得分:60)

大多数编辑都采用某种捷径来注释掉代码块。默认编辑器使用命令或控件和单引号来注释掉选定的代码行。在RStudio中,它是 Command Control + / 。检查你的编辑。

它仍在逐行评论,但它们也会取消注释选定的行。对于Mac RGUI,它是命令选项'(我想象的是windows是控制选项)。对于Rstudio,它只是 Command Control + Shift + C

随着编辑人员的更新,不同的软件成为最受欢迎的编辑,这些快捷方式可能会随着时间的推移而发生变化。你必须查找你拥有的任何软件。

答案 1 :(得分:51)

一种块注释使用if语句:

if(FALSE) {
  all your code
}

它有效,但我几乎总是使用编辑器的块注释选项(RStudio,Kate,Kwrite)。

答案 2 :(得分:27)

将其包裹在未使用的功能中:

.f = function() {

## unwanted code here:

}

答案 3 :(得分:1)

我使用RStudio或Emacs并始终使用可用于评论区域的编辑器快捷方式。如果这不可能,那么你可以使用保罗的答案,但这只有在你的代码在语法上正确时才有效。

这是我提出的另一种肮脏方式,将其包装在scan()中并删除结果。它确实将注释存储在内存中一段时间​​,因此它可能不适用于非常大的注释。最好的做法是在每一行前加上#个符号(可能还有编辑器快捷键)。

foo <- scan(what="character")
These are comments
These are still comments
Can also be code:
x <- 1:10
One line must be blank

rm(foo)

答案 4 :(得分:0)

我已经在talkstats.com上发布了帖子94,101&amp; 103在帖子中找到:Share Your Code。正如其他人所说,Rstudio可能是一个更好的方式。我将这些函数存储在我的.Rprofile中并实际使用它们但是会自动阻塞代码行。

不像你希望的那样好,但可能是一种方法。