J'ai souvent un fichier principal R Markdown ou un fichier knitr LaTeX dans lequel je source
un autre fichier R (par exemple, pour le traitement des données). Cependant, je pensais que dans certains cas, il serait bénéfique que ces fichiers sources soient leurs propres documents reproductibles (par exemple, un fichier R Markdown qui non seulement inclut des commandes pour le traitement des données mais produit également un document reproductible qui explique les décisions de traitement des données).
Ainsi, j'aimerais avoir une commande telle que source('myfile.rmd')
dans mon fichier Markdown R principal. Cela permettrait d'extraire et de sourcer tout le code R à l'intérieur des morceaux de code R de myfile.rmd
. Bien entendu, cela donne lieu à une erreur.
La commande suivante fonctionne :
```{r message=FALSE, results='hide'}
knit('myfile.rmd', tangle=TRUE)
source('myfile.R')
```
donde results='hide'
pourrait être omis si la sortie était désirée. Par exemple, knitr produit le code R de myfile.rmd
en myfile.R
.
Cependant, il ne semble pas parfait :
- cela entraîne la création d'un fichier supplémentaire
- il doit apparaître dans son propre bloc de code si le contrôle de l'affichage est nécessaire.
- Ce n'est pas aussi élégant que simple
source(...)
.
D'où ma question : Existe-t-il une manière plus élégante de sourcer le code R d'un fichier R Markdown ?