[RESOLU]création d'un package personnel

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

[RESOLU]création d'un package personnel

Messagepar Michel Carpentier » 07 Avr 2021, 17:18

Bonjour,

Je souhaite créer un package regroupant mes fonctions et mes données.

J'ai trouvé la fonction package.skeleton mais je suis bloqué à la création du dossier comprenant
les répertoires man et R
et les fichiers DESCRIPTION, NAMESPACE et Read-and-delete-me

et là je suis bloqué,

je ne sais pas lire, ni modifier les fichiers, que faut-il zipper?

j'ai lu quelque part qu'il fallait également vérifier et créer le package avec les commandes
R CMD check....
R CMD build....

où doit-on faire ces commandes?

je travaille sur un environnement Windows

Existe-t-il un document, facile à comprendre, pour créer ses packages personnels?

merci de votre aide,

cordialement
Michel

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: création d'un package personnel

Messagepar Mickael Canouil » 08 Avr 2021, 08:11

Bonjour,

En version (très) courte: https://thinkr.fr/creer-package-r-quelques-minutes/

En version plus longue :

Personnellement, je passe par {usethis}/{devtools} pour gérer toutes les étapes, étapes par ailleurs stocker dans un script R.

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: création d'un package personnel

Messagepar Fred Santos » 08 Avr 2021, 08:29

En tout petit complément (opinionated, comme disent nos camarades) : la plupart des brefs tuto de création de packages ont (pour moi) l'inconvénient léger mais évident de tout faire reposer sur Rstudio et ses projets, ainsi que sur moult packages additionnels, qui peuvent éventuellement être utiles, mais en aucun cas nécessaires.

La façon "vanilla" de créer des packages R, c'est-à-dire celle que tout le monde utilisait jusqu'à l'avènement de Rstudio, est joliment décrite dans le document de Christophe Genolini dispo sur le CRAN. Les pages 12 à 30, grosso modo, correspondent à l'essentiel de ce qu'il faut savoir, sans utiliser aucun outil autre que R-base lui-même, et évidemment un éditeur de texte quelconque.

Là où ma réponse devient opinionated : je pense qu'il est utile, avant de se jeter dans les méandres de tous les wrappers de Rstudio, de bien comprendre que ce ne sont que des wrappers, et de bien comprendre ce qu'ils font. Pour ça, parcourir le doc de Christophe ne sera jamais inutile, quitte à adopter quand même l'approche Rstudio + {devtools} + {usethis} par la suite (ce qui est sans doute préférable quand on est soi-même utilisateur de Rstudio).

Bon courage !

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 08 Avr 2021, 09:46

merci à vous deux.

je ne suis pas utilisateur de RStudio et je vais donc commencer par le document de Genolini
et si je ne m'en sors pas je me lancerai dans RStudio.


avec mes remerciements

Cordialement

Michel

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: création d'un package personnel

Messagepar Pierre-Yves Berrard » 08 Avr 2021, 09:48

Entièrement d'accord avec Fred sur l'importance de connaître ce qui se cache derrière les outils de développement de RStudio.
(j'utilise massivement RStudio + devtools + usethis, au fait)
PY

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: création d'un package personnel

Messagepar Mickael Canouil » 08 Avr 2021, 10:59

Petite note de distinction :
  • L'ecosytème devtools/usethis/testthat/roxygen2/covr est développé par des membres de l'entreprise RStudio, mais pas que.
  • L'IDE RStudio n'est absolument pas obligatoire ou nécessaire pour utiliser cet écosystème, elle fait juste son role d'IDE en proposant une interface exploitant au maximum cet écosystème.

Que ce soit débutant ou non, les lectures indispensables à mon sens pour concevoir une extension avec R / CRAN dans leur état actuel :

Et pour la jouer encore plus poussée : rOpenSci Packages: Development, Maintenance, and Peer Review

PS : selon ce que je fais je développe aussi via VScode surtout quand je veux éviter que des extensions R soit utilisées en arrière plan par l'IDE RStudio. Par exemple, installer devtools quand l'IDE RStudio est ouverte requiert un redémarrage de R/RStudio, sans redémarrage de R/Rstudio l'installation peut échouer. CHose qui n'arrive pas avec les autres IDE, puisque celles-ci ne dépendent pas des extensions R.
Mickaël
mickael.canouil.fr | rlille.fr

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 08 Avr 2021, 13:16

Bon je vais me lancer...

merci à tous

cordialement
Michel

jean lobry
Messages : 733
Enregistré le : 17 Jan 2008, 20:00
Contact :

Re: création d'un package personnel

Messagepar jean lobry » 08 Avr 2021, 16:59

Bonjour,

il ne faut pas hésiter à se lancer. Je conseille ce site http://r-forge.r-project.org/

Bien amicalement,

jean lobry

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 09 Avr 2021, 09:26

merci pour ces encouragements.

j'ai essayé de faire un package test avec une fonction et des données et je suis bloqué à la finalisation et création 1.7 du document de Christophe Genolini : il parle d'une fenêtre de commandes DOS sur Windows. J'ai bien trouvé l'invite de commandes sur le windows 10 de mon PC.
J'ai tapé dans cette invite "R CMD build - binary MonPackage" et il me renvoie l'information "R n'est pas une commande".

j'ai du louper quelquechose.

merci de votre aide...

cordialement

Michel

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: création d'un package personnel

Messagepar Pierre-Yves Berrard » 09 Avr 2021, 09:47

Il faut que tu ajoutes le dossier contenant R.exe dans la variable d'environnement PATH de Windows.
PY

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 09 Avr 2021, 15:47

merci.

mais je suis perdu :

Où puis-je trouver la variable d'environnement PATH de Windows et le R.exe?


merci pour votre aide.


cordialement

Michel

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: création d'un package personnel

Messagepar Mickael Canouil » 09 Avr 2021, 16:31

Le PATH est à définir dans les variables environnement de Windows en accord avec le chemin d'installation de R.

PS : C'est "beau" de se faire du mal du mal quand il existe devtools::build()
Mickaël
mickael.canouil.fr | rlille.fr

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 10 Avr 2021, 13:07

je vais regarder devtools.

mais si j'ai bien compris il faut installer R et dire qu'on le veut au démarrage du PC?

Bon, je vais tester avec la dernière version de R.

Cordialement

Michel

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: création d'un package personnel

Messagepar Mickael Canouil » 11 Avr 2021, 11:56

Le PATH est un moyen d'indiquer au système d'exploitation (pas que Windows) où trouver les binaires ou .exe d'un ou plusieurs programmes, rendant de ce fait ces mêmes programmes disponibles dans une invite de commande (msdow, powershell, shell, bash, etc) depuis n'importe quel dossier.

Si vous ne maitrisez pas la configuration système de votre ordinateur, je ne saurais que recommander d'utiliser devtools.
A noter, que vous aurez surement besoin de Rtools dans tous les cas.
https://cran.r-project.org/bin/windows/Rtools/
Mickaël
mickael.canouil.fr | rlille.fr

Michel Carpentier
Messages : 144
Enregistré le : 04 Fév 2018, 13:49

Re: création d'un package personnel

Messagepar Michel Carpentier » 11 Avr 2021, 16:26

merci de tous ces renseignements.

Bon, j'ai téléchargé Rtools40. j'étais prêt à partir puisque ça avait réussi (après install.packages("jsonlite", type = "source"))
mais quand je suis allé dans l'invite de commande R n'est toujours pas reconnu
(C:\Users\carpe>R CMD build -binary PapaCharles
'R' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes..)
j'ai retesté avec rtools40 (comme dans
> Sys.which("make")
make
"C:\\rtools40\\usr\\bin\\make.exe"
)qui n'est pas non plus reconnu...

Bon, je vais laisser "mijoter" un peu et conserver pour l'instant mes fonctions ,l'appel de mes Data et des library sur un fichier.r et appeler ce fichier avec la commande de R - fichier -sourcer du code R...(dans ce fichier je fais imprimer une définition rapide des fonctions)

cordialement
Michel


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité