Creation de paquet compilant un fichier Rnw

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

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Creation de paquet compilant un fichier Rnw

Messagepar Jean-Emmanuel Longueville » 28 Mar 2019, 16:01

Bonjour,
Ma question porte sur comment organiser la structure de mon paquet sachant qu'il doit contenir un script exécuté pour compiler en série un fichier Rnw qui produit des pdfs.
Comment gérer les différents chemin contenu dans mes fonctions ?
Non je ne fais pas ce paquet pour le publier (du moins dans un premier temps) mais pour pouvoir facilement distribuer ce code en interne.
Merci pour vos pistes
Jean-Emmanuel
Ingénieur d'étude LNEC

Eric Casellas
Messages : 767
Enregistré le : 06 Jan 2009, 14:59

Re: Creation de paquet compilant un fichier Rnw

Messagepar Eric Casellas » 28 Mar 2019, 16:18

Bonjour,

Je te suggère de regarder le livre de Hadley Wickham sur les paquets R : https://r-pkgs.org/

Eric
Eric

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

Re: Creation de paquet compilant un fichier Rnw

Messagepar Mickael Canouil » 28 Mar 2019, 17:00

Bonjour,

si le code doit être exécuté (compilé n'a pas la même signification), ça ne peut pas être un paquet.

Votre paquet, ressemble plus à une archive.
On peut imaginer le code ci-dessous avec votre fonction à la place du for (file.copy du script eventuellement)

Code : Tout sélectionner

dir.create(path = "monpaquet")
for (i in 1:5) {
  file.create(paste0("monpaquet/fichier", i, ".pdf"))
}
utils::tar(
  tarfile = "monpaquet.tar.gz",
  files = "monpaquet",
  compression = "gzip"
)

# unlink("monpaquet", recursive = TRUE)
# unlink("monpaquet.tar.gz")


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

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: Creation de paquet compilant un fichier Rnw

Messagepar Jean-Emmanuel Longueville » 29 Mar 2019, 09:23

Bonjour Eric oui j'essaie de le regarder sans trouver d'information à ce propos.

Bonjour Mickael je pensais qu'on pouvait avoir le fichier .Rnw dans l'architecture du paquet et avoir une fonction qui fait un :

Code : Tout sélectionner

knit2pdf("FicheDiplome.Rnw", output= outputname, quiet=silence, encoding = "UTF-8" )


et avoir pareil à coté des scripts qui sont exécutés pour remplir le fichier .Rnw (Knitr/LaTeX)

Merci pour votre aide.
Jean-Emmanuel
Ingénieur d'étude LNEC

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

Re: Creation de paquet compilant un fichier Rnw

Messagepar Pierre-Yves Berrard » 29 Mar 2019, 11:40

Bonjour,

Si je comprends bien la problématique, tu peux placer ton fichier dans le dossier inst/mondossier, pour y faire référence une fois le package construit par

Code : Tout sélectionner

system.file("mondossier/FicheDiplome.Rnw", package = "monpackage")
dans la fonction qui génère les pdf.

Voir http://r-pkgs.had.co.nz/inst.html.
PY

Jean-Emmanuel Longueville
Messages : 310
Enregistré le : 23 Fév 2011, 08:03

Re: Creation de paquet compilant un fichier Rnw

Messagepar Jean-Emmanuel Longueville » 29 Mar 2019, 15:21

Merci beaucoup pour cette piste qui a l'air prometteuse.
Edit cette piste s'avère la meilleure parce qu'elle tourne.
Jean-Emmanuel
Ingénieur d'étude LNEC


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité