Auskommentieren von Mehrzeilern in R

Gustavo du Mortier 16 Februar 2024
  1. Verwenden von scan() zum Einfügen von beliebigem Text
  2. Verwenden einer Funktion zum Kommentieren von mehrzeiligem Code in R
Auskommentieren von Mehrzeilern in R

Wenn Sie mehrzeiligen R-Code auskommentieren möchten, wäre die herkömmliche Vorgehensweise, ein #-Zeichen an den Anfang jeder der auszukommentierenden Zeilen zu setzen, da R keine mehrzeiligen Kommentare unterstützt.

Diese Aufgabe ist in Ordnung, wenn die Anzahl der auszukommentierenden Codezeilen gering ist. Wenn Sie jedoch einen wirklich langen Codeblock auskommentieren müssen, könnte ein spezialisierter Code-Editor nützlich sein, der in der Lage ist, ein #-Zeichen an jede Zeile in einem ausgewählten Block anzuhängen. In RStudio können Sie das mit der Tastenkombination Ctrl+Shift+C unter Windows oder Command+Shift+C unter OSX erreichen. Die RStudio-Dokumentation bietet weitere Informationen zu Tastaturkürzeln.

Notepad++ erkennt R-Code und erlaubt auch das Auskommentieren von Code mit der Tastenkombination Ctrl+Q oder Command+Q. Wenn Sie Emacs verwenden, können Sie auch M-x comment-region verwenden. Um die Aktion rückgängig zu machen, verwenden Sie M-x uncomment region.

Verwenden von scan() zum Einfügen von beliebigem Text

Sie können auch die Funktion scan() verwenden, um einen beliebigen Text in Ihren Code einzufügen, den Sie anschließend mit rm() aus dem Speicher entfernen müssen. Achten Sie darauf, dass die letzte Zeile des kommentierten Codes vor dem rm() leer sein muss. Da scan() den Text in eine Variable lädt, ist es notwendig, den kommentierten Code oder Text in vernünftigen Größengrenzen zu halten.

Im Folgenden wird gezeigt, wie Sie diese Methode verwenden können.

comments <- scan(what="character")
Place your comments here
You can place code also:
some_data <- 1:1000
Just leave the last line blank.

rm(comments)

Verwenden einer Funktion zum Kommentieren von mehrzeiligem Code in R

Die folgende Funktion FormatComment nimmt den Text aus der Zwischenablage und formatiert ihn mit einem # Symbol am Anfang jeder Zeile. Wenn Sie also einen Texteditor verwenden, der nicht in der Lage ist, Codeblöcke automatisch auszukommentieren, können Sie das gleiche Ergebnis erzielen, indem Sie den Code in die Zwischenablage kopieren und die Funktion FormatComment von der Konsole aus aufrufen, um eine auskommentierte Version des Codes zu erhalten. Dann können Sie den ursprünglichen Codeblock durch den auskommentierten ersetzen.

FormatComment<-function() {
    y <- as.list(readClipboard())
    spacer <- function(x) paste("#", paste("   ", collapse=""), x, sep="")
    z <- sapply(y, spacer)
    zz <- as.matrix(as.data.frame(z))
    dimnames(zz) <- list(c(rep("", nrow(zz))), c(""))
    writeClipboard(noquote(zz), format = 1)
    return(noquote(zz))
}

Um es auszuprobieren, kopieren Sie einfach den Text, den Sie als Kommentar einfügen möchten, und rufen die Funktion FormatComment auf. Zum Beispiel, wenn Sie diesen Text in einen Kommentar umwandeln wollen.

This is some text
I want to insert
as a comment
in the middle of
my R script.

Markieren Sie einfach den gesamten Block und kopieren Sie ihn in die Zwischenablage. Dann rufen Sie die Funktion FormatComment wie folgt auf:

FormatComment()

Und Sie erhalten die folgende Ausgabe:

#   This is some text
#   I want to insert 
#   as a comment     
#   in the middle of 
#   my R script.