plots - Cómo convertir R Markdown a HTML? Es decir, ¿qué hace "Knit HTML" en Rstudio 0.96?
r markdown tutorial pdf (4)
Pon Sys.sleep(30)
en un pedazo y verás claramente qué comandos son llamados por RStudio. Básicamente son
-
library(knitr); knit()
library(knitr); knit()
para obtener el archivo de descuento; - RStudio tiene funciones internas para convertir el descuento en HTML;
El segundo paso será más transparente en la próxima versión del paquete de markdown
. Actualmente puedes usar knitr::knit2html(''your_file.Rmd'')
para obtener un archivo HTML similar al que te da RStudio.
¿Qué comandos se ejecutan al presionar "Knit HTML" en un archivo R Markdown en Rstudio 0.96?
Mi motivación es que podría querer ejecutar el mismo comando cuando estoy en otro entorno de edición de texto o podría querer combinar el comando en un makefile
más grande.
Método de línea de comando muy fácil de knitr en knutshell :
R -e "rmarkdown::render(''knitr_example.Rmd'')"
Esto requiere que rmarkdown
se instale con install.packages(rmarkdown)
y que se instale pandoc (aparentemente viene con Rstudio, consulte knitr en knutshell para más detalles).
Hasta ahora, cuando lo he usado, coloca todas las tramas en el archivo HTML en lugar de imágenes en un directorio de figuras y limpia los archivos intermedios, si los hay; al igual que la compilación en RStudio.
Parece que debe llamar a rmarkdown :: render () en lugar de knitr :: knit2html () porque a.rmd parece ser un documento de R Markdown v2.
Script básico
Entonces, ahora que se lanzó el paquete R markdown
, aquí hay un código para replicar las características de Knit to 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
donde test.rmd
es el nombre de su archivo R markdown. Tenga en cuenta que no estoy 100% seguro acerca de la línea browseURL (de ahí mi pregunta sobre la apertura de archivos en un navegador web ).
Opciones de markdownToHTML
Lo bueno de markdownToHTML
es que hay montones de opciones sobre cómo se crea el HTML (ver ?markdownHTMLOptions
). Entonces, por ejemplo, si solo quiere un fragmento de código sin toda la información del encabezado, podría escribir:
markdownToHTML(''test.md'', ''test.html'', options=''fragment_only'')
o si no le gusta el envoltorio rígido (es decir, insertar saltos de línea cuando hay saltos de línea manuales únicos en la fuente de rebaja), puede omitir la opción ''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''))
Makefile
Esto también podría agregarse a un archivo MAKE quizás utilizando Rscript -e
(por ejemplo, algo como esto ). Este es un ejemplo básico de makefile que test.rmd
, donde la test
indica que el archivo test.rmd
se llama 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=''''))"
El archivo MAKE utiliza mis opciones de reducción preferidas: es decir, options=c(''use_xhtml'', ''base64_images'')