我想在R中注释掉几行代码。有没有办法做到这一点而不必在每一行之前加一个# - 有点像SAS中的/* blocked out code */
?
答案 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中并实际使用它们但是会自动阻塞代码行。
不像你希望的那样好,但可能是一种方法。