Cette question est très étroitement liée à : "Comment organiser de grands programmes R ?"
Vous devriez envisager de créer un paquet R. Vous pouvez utiliser le package.skeleton
pour commencer à partir d'un ensemble de fichiers R. Je recommande aussi fortement d'utiliser roxygen
de documenter le paquet dès le début, car il est beaucoup plus difficile de le faire après coup.
Lire "Ecrire des extensions R" . Le livre en ligne "Statistics with R" a une section sur ce sujet . Jetez également un coup d'œil à Création de paquets R : Un tutoriel par Friedrich Leisch. Enfin, si vous êtes dans l'État de New York, venez assister à la prochaine réunion du groupe de travail sur l'utilisation de R à New York, qui se déroulera le 15 novembre. "Authoring R Packages : a gentle introduction with examples" (en anglais) .
Juste pour rappeler quelques suggestions sur les bonnes pratiques :
- Un paquet vous permet d'utiliser
R CMD check
qui est très utile pour détecter les bogues ; séparément, vous pouvez envisager d'utiliser la fonction codetools
paquet.
- Un paquet vous oblige également à faire un minimum 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 et facile à maintenir.
- Vous devriez envisager l'utilisation d'un guide de style (par ex. Guide de style Google ).
- Utilisez un système de contrôle de version dès le début, et si vous comptez rendre votre code open source, envisagez d'utiliser github/googlecode ou r-forge.
Editar:
En ce qui concerne la manière d'effectuer des modifications incrémentielles sans reconstruire et installer le paquet complet : je trouve que la chose la plus simple à faire est d'effectuer des modifications dans le fichier R concerné et d'utiliser ensuite la fonction source
pour charger ces modifications. Une fois que vous avez chargé votre bibliothèque dans une session R, elle sera toujours plus basse dans l'environnement (et moins prioritaire) que le .GlobalEnv, de sorte que les changements que vous sourcez ou chargez directement seront utilisés en premier (utilisez la commande search
pour voir cela). De cette façon, vous pouvez avoir votre paquet sous-jacent et vous écrasez les changements au fur et à mesure que vous les testez dans l'environnement.
Vous pouvez également utiliser un IDE comme StatET ou ESS. Ils permettent de charger très facilement des lignes ou des fonctions individuelles à partir d'un paquetage R. StatET est particulièrement bien conçu pour gérer les paquets dans une structure de type annuaire.