it-swarm.com.de

R: Codeblock auskommentieren

Mögliches Duplikat:
R: Problemumgehungen für mehrzeilige Kommentare?

Ich möchte in R mehrere Codezeilen auskommentieren. Gibt es eine Möglichkeit, dies zu tun, ohne vor jede Zeile ein # setzen zu müssen - eine Art wie /* blocked out code */ in SAS?

72
user702432

Die meisten Editoren verwenden eine Verknüpfung, um Codeblöcke auszukommentieren. Die Standardeditoren verwenden Befehle oder Steuerelemente und einfache Anführungszeichen, um ausgewählte Codezeilen auszukommentieren. In RStudio ist es Command oder Control+/. Checken Sie in Ihrem Editor.

Es wird weiterhin zeilenweise kommentiert, es werden jedoch auch ausgewählte Zeilen auskommentiert. Für den Mac RGUI ist es die Befehlsoption '(ich stelle mir vor, Windows ist die Steuerungsoption). Für Rstudio ist es einfach Command oder Control + Shift + C nochmal.

Diese Verknüpfungen werden sich wahrscheinlich im Laufe der Zeit ändern, wenn die Editoren aktualisiert werden und unterschiedliche Software zu den beliebtesten R-Editoren wird. Sie müssen nach der Software suchen, die Sie haben.

64
John

Eine Art Blockkommentar verwendet eine if-Anweisung:

if(FALSE) {
  all your code
}

Es funktioniert, aber ich verwende fast immer die Blockkommentaroptionen meiner Editoren (RStudio, Kate, Kwrite).

57
Paul Hiemstra

Wickeln Sie es in eine unbenutzte Funktion:

.f = function() {

## unwanted code here:

}
28
mdsumner

Ich benutze RStudio oder Emacs und benutze immer die verfügbaren Editor-Verknüpfungen, um Regionen zu kommentieren. Wenn dies nicht möglich ist, können Sie die Antwort von Paul verwenden, dies funktioniert jedoch nur, wenn Ihr Code syntaktisch korrekt ist.

Hier ist ein anderer schmutziger Weg, den ich mir ausgedacht habe: Wickle ihn in scan() und entferne das Ergebnis. Es speichert den Kommentar für eine kurze Zeit im Speicher, daher funktioniert es wahrscheinlich nicht mit sehr großen Kommentaren. Das Beste ist immer noch, nur # steht vor jeder Zeile (evtl. mit Editor-Shortcuts).

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)
1
Sacha Epskamp

Ich habe dies bei talkstats.com in den Beiträgen 94, 101 & 103 behandelt, die im Thread gefunden wurden: Teilen Sie Ihren Code . Wie andere gesagt haben, ist Rstudio möglicherweise der bessere Weg. Ich speichere diese Funktionen in meinem .Rprofile und benutze sie tatsächlich, um aber automatisch Codezeilen schnell auszublenden.

Nicht ganz so schön, wie Sie es sich erhofft hatten, aber vielleicht ein Ansatz.

0
Tyler Rinker