« R: construire un package » : différence entre les versions

De Wiki ISIG
Aller à la navigation Aller à la recherche
(création page)
 
mAucun résumé des modifications
Ligne 3 : Ligne 3 :
== Pour qui construire un package? ==
== Pour qui construire un package? ==


- Pour **soi** (réunir un certain nombre de fonctions, et les documenter pour un usage futur)
- Pour '''soi''' (réunir un certain nombre de fonctions, et les documenter pour un usage futur)


- Pour **les autres** (réunir un certain nombre de fonctions, les documenter et faciliter l'installation de ces fonctions par d'autres utilisateurs notamment via une *installation* plutôt que par des copier-collers de code.
- Pour **les autres** (réunir un certain nombre de fonctions, les documenter et faciliter l'installation de ces fonctions par d'autres utilisateurs notamment via une *installation* plutôt que par des copier-collers de code.

Version du 6 avril 2022 à 07:54

Cette page reprend quelques idées de base pour faciliter la construction d'un package sous R.

Pour qui construire un package?

- Pour soi (réunir un certain nombre de fonctions, et les documenter pour un usage futur)

- Pour **les autres** (réunir un certain nombre de fonctions, les documenter et faciliter l'installation de ces fonctions par d'autres utilisateurs notamment via une *installation* plutôt que par des copier-collers de code.

Pourquoi construire un package?

- Pour **réunir un certain nombre de fonctions** s'intégrant dans une **problématique commune** - Pour rendre son travail **plus facilement reproductible** que par un partage de script simple - Pour **partager** et **valoriser** ses codes


Création de l'arborescence des fichiers

Dans le menu principal de RStudio, faire:

File => New Project => New Directory => R package

Le dossier est automatiquement construit et contient:

- **.Rproj**: le fichier indiquant à R les caractéristiques du projet -📋 **DESCRIPTION** : le fichier de description du package (auteur, description de l'objectif du package, licence, etc.), à compléter / modifier -📋 **NAMESPACE**: le fichier (read-only) qui **liste les fonctions du package**, celles qui sont exportées (donc utilisables directement par les futurs utilisateurs du package) et les autres (celles qui servent au(x) développeur(s) uniquement) -📁 **R**: contient l'ensemble des scripts correspondant aux codes des fonctions -📁 **man**: (pour "manual") contient l'ensemble des fichiers d'aide i.e. la documentation associée à chaque fonction