Gibt es ein Tool (Editor, Skript, was auch immer ...) verfügbar, das automatisch R-Code formatieren kann? Es muss nicht anpassbar sein, aber es muss in der Lage sein, durch Semikolons oder Zeilenumbrüche getrennte Anweisungen zu erkennen, da dieser Code beides hat. Wenn es alle Anweisungen in eine separate Zeile setzen kann, Codeblöcke konsequent einrücken und Klammern konsequent platzieren, werde ich sehr glücklich sein.Werkzeug zum automatischen Formatieren von R-Code
Edit: eine Zusammenfassung Ergebnisse
Vielen Dank für die tollen Antworten. Hier ist, was ich gefunden habe.
Hier ist eine kleine Funktion, die ich geschrieben habe, so dass ich ein komplettes Quellverzeichnis (mit der gleichen zugrundeliegenden Funktion wie FormatR, die seltsamerweise im Animationspaket ist) konvertieren kann.
library("animation")
tidy.all <- function(inDir = NULL, outDir = NULL, ...) {
if (is.null(inDir) || is.na(outDir))
stop("inDir can't be null or NA")
if (!file.info(inDir)$isdir)
stop("inDir must be a directory")
if (is.null(outDir) || is.na(outDir))
stop("outDir can't be null or NA")
if (!file.exists(outDir))
dir.create(outDir)
if (!file.info(outDir)$isdir)
stop("outDir must be a directory")
for (f in dir(inDir)) {
currFile <- file.path(inDir, f)
if (length(grep(".*\\.R$", currFile, perl = T))) {
outFile <- file.path(outDir, f)
if (file.exists(outFile))
stop(paste("refusing to overwrite", outFile))
tidy.source(currFile, file = outFile, ...)
}
}
}
Ich schreibe "schönen Code" von Anfang an, weil ich es leichter zu lesen finde. Ich benutze das StatET Plugin für Eclipse (Ich habe ESS ausprobiert, aber ich finde es vergleichbar mit StatET), was für meine Arbeit vollkommen zufriedenstellend ist. –
@romunov ja, ich stimme zu, aber die meisten der R-Code, den ich ändern muss, wurde ursprünglich nicht von mir erstellt – Keith
Keith, guter Punkt. In diesem Fall finde ich FormatR wie eine ausgezeichnete Option (wie Sie bereits herausgefunden haben). –