Aufbauend auf der Post Wie man ein statistisches Analyseprojekt und das ProjectTemplatePaket in R ...
F: Wie erstellen Sie Ihre statistische Projektverzeichnisstruktur, wenn mehrere Sprachen stark vertreten sind (z. B. R AND Splus)?
Die meisten Diskussionen zu diesem Thema beschränkten sich auf Projekte, die hauptsächlich eine Sprache verwenden. Ich beschäftige mich mit der Minimierung von Schlamperei, Verwirrung und Bruch, wenn mehrere Sprachen verwendet werden.
Ich habe unten meine aktuelle Projektstruktur und Methoden für die Ausführung von Dingen aufgeführt. Eine Alternative könnte so um Code sein , dass ich ./Rund ./SplusVerzeichnisse --- jeweils ihre eigenen /lib, /src, /util, /tests, und /mungeVerzeichnisse.
F: Welcher Ansatz kommt "Best Practices" (falls vorhanden) am nächsten?
- / data - projektübergreifende Daten
- / library - Skripte, die projektübergreifend gemeinsam genutzt werden
- / projects / myproject - mein Arbeitsverzeichnis. Wenn ich mehrere Sprachen verwende, teilen sie diesen Speicherort derzeit als Arbeitsverzeichnis.
- ./data/ - Daten spezifisch für
/myprojectund Symlinks zu Daten in/data - ./cache/ - zwischengespeicherte Arbeitsbereiche (z. B.
.RDataDateien, die mitsave.image()R.sddgespeichert wurden, oder Dateien, die mitdata.dump()Splus gespeichert wurden) - ./lib/ - Hauptprojektdateien. Über alle Projekte hinweg gleich. Ein R Projekt wird über ausgeführt wird
source("./lib/main.R")das wiederum läuftload.R,clean.R,test.R,analyze.R,.report.R. Derzeit , wenn mehrere Sprachen verwendet werden, sagen wir, Splus zusätzlich zu R, werde ich werfenmain.ssc,clean.sscetc. in dieses Verzeichnis als auch. Ich bin mir nicht sicher, ob mir das gefällt. - ./src/ - projektspezifische Funktionen. Sammelte eine Funktion pro Datei.
- ./util/ - allgemeine Funktionen, die eventuell verpackt werden müssen. Sammelte eine Funktion pro Datei.
- ./tests/ - Dateien zum Ausführen von Testfällen. Benutzt von
./lib/test.R - ./munge/ - Dateien zum Bereinigen von Daten. Benutzt von
./lib/clean.R - ./figures/ - Tabellen und Abbildungen
./lib/report.R, die im Abschlussbericht verwendet werden sollen - ./report/ -
.texDateien und Symlinks zu Dateien in./figures - ./presentation/ -
.texDateien für Präsentationen (normalerweise dieBeamerKlasse) - ./temp/ - Speicherort für temporäre Skripte
- ./LIESMICH
- ./MACHEN
- ./.RData - zum Speichern von R-Projektarbeitsbereichen
- ./.Data/ - zum Speichern von S-Projektarbeitsbereichen