Quelles commandes sont exécutées en appuyant sur “Knit HTML” sur un fichier R Markdown dans Rstudio 0.96?
Ma motivation est que je pourrais vouloir exécuter la même commande quand je suis dans un autre environnement d’édition de texte ou je pourrais vouloir combiner la commande dans un plus grand makefile
.
Mettez Sys.sleep(30)
dans un morceau et vous verrez clairement quelles commandes sont appelées par RStudio. Fondamentalement, ils sont
library(knitr); knit()
library(knitr); knit()
pour obtenir le fichier de démarquage; La deuxième étape sera plus transparente dans la prochaine version du package de markdown
. Actuellement, vous pouvez utiliser knitr::knit2html('your_file.Rmd')
pour obtenir un fichier HTML similaire à celui knitr::knit2html('your_file.Rmd')
par RStudio.
Donc, maintenant que le package R markdown
a été publié , voici un code pour reproduire les fonctionnalités de Knit en HTML.
require(knitr) # required for knitting from rmd to md require(markdown) # required for md to html knit('test.rmd', 'test.md') # creates md file markdownToHTML('test.md', 'test.html') # creates html file browseURL(paste('file://', file.path(getwd(),'test.html'), sep='')) # open file in browser
où test.rmd
est le nom de votre fichier de test.rmd
R. Notez que je ne suis pas sûr à 100% de la ligne browseURL (d’où ma question sur l’ ouverture de fichiers dans un navigateur Web ).
La bonne chose à propos de markdownToHTML
est qu’il y a des tas d’options dans la façon dont le HTML est créé (voir ?markdownHTMLOptions
). Par exemple, si vous voulez juste un fragment de code sans toutes les informations d’en-tête, vous pouvez écrire:
markdownToHTML('test.md', 'test.html', options='fragment_only')
ou si vous n’aimez pas le «wrapping» dur (c.-à-d. en insérant des sauts de ligne lorsqu’il n’y a qu’un seul saut de ligne manuel dans la source de démarque), vous pouvez omettre l’option «hard_wrap».
# The default options are 'hard_wrap', 'use_xhtml', # 'smartypants', and 'base64_images'. markdownToHTML('test.md', 'test.html', options=c('use_xhtml', 'base64_images'))
Cela pourrait également être ajouté à un Rscript -e
peut-être en utilisant Rscript -e
(par exemple, quelque chose comme ça ). Voici un exemple de fichier de base que j’ai mis en place, où test
indique que le fichier test.rmd
s’appelle test.rmd
.
RMDFILE=test html : Rscript -e "require(knitr); require(markdown); knit('$(RMDFILE).rmd', '$(RMDFILE).md'); markdownToHTML('$(RMDFILE).md', '$(RMDFILE).html', options=c('use_xhtml', 'base64_images')); browseURL(paste('file://', file.path(getwd(),'$(RMDFILE).html'), sep=''))"
Le makefile utilise mes options de démarquage préférées: par exemple, options=c('use_xhtml', 'base64_images')
Méthode de ligne de commande très simple à partir de knot dans une coquille :
R -e "rmarkdown::render('knitr_example.Rmd')"
Cela nécessite que rmarkdown
soit installé avec install.packages(rmarkdown)
et que ce pandoc soit installé (apparemment, il est fourni avec Rstudio, voir knitr dans une boîte pour plus de détails).
Jusqu’à présent, lorsque je l’ai utilisé, il place bien tous les tracés dans le fichier HTML plutôt que sous forme d’images dans un répertoire de figures et nettoie tous les fichiers intermédiaires, le cas échéant; tout comme la compilation dans RStudio.
Il semble que vous devriez appeler rmarkdown :: render () au lieu de knitr :: knit2html () car a.rmd semble être un document R Markdown v2.