Cette question est très étroitement liée à: "How to organize large R programs?"
Vous devriez envisager de créer un package R. Vous pouvez utiliser la fonction package.skeleton
pour commencer avec un ensemble de fichiers R. Je recommande fortement d'utiliser roxygen
pour documenter le paquet au début, parce qu'il est beaucoup plus difficile de le faire après le fait.
Lecture "Writing R Extensions". Le livre en ligne "Statistiques avec R" a a section on this subject. Jetez également un coup d'œil à Creating R Packages: A Tutorial par Friedrich Leisch. Enfin, si vous êtes à New York, venez à la prochaine réunion du groupe d'utilisation de NY à "Authoring R Packages: a gentle introduction with examples".
Juste pour ressasser quelques suggestions sur les bonnes pratiques:
- Un package vous permet d'utiliser
R CMD check
ce qui est très utile pour attraper des insectes; séparément, vous pouvez utiliser le package codetools
.
- Un package vous oblige également à faire une quantité minimale de documentation, ce qui conduit à de meilleures pratiques à long terme.
- Vous devriez également envisager de faire des tests unitaires (par exemple avec RUnit) si vous voulez que votre code soit robuste/maintenable. Vous devez envisager d'utiliser un guide de style (par exemple, Google Style Guide).
- Utilisez un système de contrôle de version depuis le début, et si vous voulez créer votre code source ouvert, pensez à utiliser github ou r-forge.
Edit:
En ce qui concerne la façon dont n'apporter des modifications supplémentaires sans reconstruire et installer le package complet: je trouve la meilleure chose à faire est de faire des changements dans votre fichier R concerné puis utilisez la commande source
charger ces changements. Une fois que vous chargez votre bibliothèque dans une session R, elle sera toujours inférieure dans l'environnement (et moins prioritaire) que le .GlobalEnv, de sorte que toutes les modifications que vous chargez ou chargez directement seront utilisées en premier (utilisez la commande search
ce). De cette façon, vous pouvez faire en sorte que votre package soit sous-jacent et vous remplacez les modifications au fur et à mesure que vous les testez dans l'environnement.
Alternativement, vous pouvez utiliser un IDE comme StatET ou ESS. Ils facilitent le chargement de lignes ou de fonctions individuelles dans un paquet R. StatET est particulièrement bien conçu pour gérer la gestion de paquets dans une structure de type répertoire.
Copie possible: http://stackoverflow.com/questions/1266279/how-to-organize-large-r-programs – Shane