Diese Frage ist sehr eng verwandt mit: "How to organize large R programs?"
Sie sollen ein R-Paket betrachten zu schaffen. Sie können die Funktion package.skeleton
verwenden, um mit einer Reihe von R-Dateien zu beginnen. Ich empfehle auch dringend, roxygen
zu verwenden, um das Paket am Anfang zu dokumentieren, weil es viel schwieriger ist, es im Nachhinein zu tun.
Gelesen "Writing R Extensions". Das Online-Buch "Statistik mit R" hat a section on this subject. Werfen Sie auch einen Blick auf Creating R Packages: A Tutorial von Friedrich Leisch. Zu guter Letzt, wenn Sie in NY sind, kommen Sie zum nächsten Treffen der NY Use-R Group unter "Authoring R Packages: a gentle introduction with examples".
nur einige Vorschläge über gute Praktiken wieder aufwärmen:
- Ein Paket ermöglicht es Ihnen,
R CMD check
zu verwenden, die zu fangen Bugs sehr hilfreich ist; separat können Sie mit dem codetools
Paket betrachten.
- Ein Paket zwingt Sie auch, eine minimale Menge an Dokumentation zu erstellen, was auf lange Sicht zu besseren Praktiken führt.
- Sie sollten auch Unit-Tests durchführen (z. B. mit RUnit), wenn Ihr Code robust/wartbar sein soll.
- Sie sollten einen Styleguide verwenden (z. B. Google Style Guide).
- Verwenden Sie ein Versionskontrollsystem von Anfang an, und wenn Sie Ihren Code Open Source machen wollen, dann sollten Sie github oder r-forge verwenden.
Edit:
In Bezug auf, wie inkrementelle Änderungen vornehmen kann, ohne den Wiederaufbau und das volle Paket installieren: Ich finde die einfachste Sache zu tun ist, Veränderungen in Ihrer relevanten R-Datei zu erstellen und verwenden Sie dann den source
Befehl um diese Änderungen zu laden. Sobald Sie Ihre Bibliothek in eine R-Sitzung geladen haben, ist sie in der Umgebung immer niedriger (und niedriger als die .GlobalEnv). Daher werden alle Änderungen, die Sie direkt oder direkt laden, zuerst verwendet (verwenden Sie dazu den Befehl search
) Dies). Auf diese Weise können Sie Ihr Paket zugrunde legen und Änderungen überschreiben, während Sie sie in der Umgebung testen.
Alternativ können Sie eine IDE wie StatET oder ESS verwenden. Sie machen das Laden einzelner Zeilen oder Funktionen aus einem R-Paket sehr einfach. StatET ist besonders gut dafür ausgelegt, Pakete in einer verzeichnisähnlichen Struktur zu verwalten.
Mögliche Duplikate: http://StackOverflow.com/Questions/1266279/How-To-Organize-Large-R-Programs – Shane