tutorial sheet examples español chunk cheat r knitr rstudio r-markdown

sheet - r markdown pdf



¿Cómo hacer que RStudio compile automáticamente R Markdown Vignettes? (1)

Actualización: Pensando lateralmente, hay al menos tres opciones.

1. Utilice build_vignettes ()

Como @Hadley señala, ejecutar build_vignettes() desde el paquete devtools creará viñetas y las devtools en el directorio inst/man del paquete.

devtools::build_vignettes()

Construir la viñeta significa que obtienes tres versiones en inst/man :

  1. la fuente de Rmd
  2. la viñeta HTML tejida o tejida
  3. y el código R en los bloques de código

Esto no está vinculado al comando de compilación y recarga en RStudio, pero es una solución de una línea para la tarea. Y podría incorporarse fácilmente en un makefile .

2. Usar Knit HTML en Rstudio

Como @TylerRinker observa, puedes usar Knit HTML en Rstudio. Esto agregará las versiones de punto md y HTML de la viñeta rmd al directorio de vignettes .

Esto tampoco está ligado al proceso de compilación, pero como señala @TylerRinker, a menudo no quiere que las viñetas estén vinculadas al proceso de compilación principal. Esto también tiene la ventaja de brindarle un archivo md que puede ser una buena opción para mostrar la viñeta en github, aunque htmlpreview.github.com es una opción para mostrar la viñeta HTML en github.

3. Construir el paquete fuente y extraer de un archivo comprimido

Build - Build Source Package en RStudio corresponde a R CMD build . Cuando se ejecuta, se crea un archivo tar.gz comprimido que contiene en el directorio inst/doc los archivos Rmd, R y HTML para el archivo de viñeta rmd original.

Esto se describe en la documentación oficial sobre la escritura de viñetas de paquetes que le indica que use R CMD build para generar viñetas en PDF y HTML.

Así que es posible

  1. Fuente de compilación
  2. Descomprima el archivo tar.gz
  3. Examinar y abrir el archivo resultante

Estoy tratando de escribir viñetas del paquete R usando R Markdown. Estoy usando las herramientas de creación de paquetes de R Studio.

Tengo R mayor que la versión 3.0.

Tengo un archivo .Rmd en la carpeta de vignettes que contiene el siguiente texto en la parte superior:

<!-- %/VignetteEngine{knitr::knitr} %/VignetteIndexEntry{An Introduction to the bootcorrelations package} -->

Tengo lo siguiente en mi archivo de DESCRIPTION :

VignetteBuilder: knitr Suggests: knitr

Cuando limpio y compilo, o compilo y recargo el paquete en RStudio, se muestra la fuente de la viñeta, pero no el HTML (es decir, no hay un archivo HTML en inst/man ).

¿Cómo puedo hacer que RStudio cree automáticamente el HTML a partir de una viñeta de Markdown R?

He leído la publicación de Yihui sobre las viñetas del paquete R con Markdown y sugiere el uso de un makefile, pero esta documentación más reciente sobre las viñetas de knitr sugiere que el makefile ya no es necesario.

También me doy cuenta de que pude crear manualmente la viñeta HTML con un comando como este:

library(knitr) knit(input=''vignettes/foo.Rmd'', output=''inst/doc/foo.md'') library(markdown) markdownToHTML(''inst/doc/foo.md'', ''inst/doc/foo.html'')

Un ejemplo reproducible:

Vectorize(dir.create)(c("test", "test/R", "test/man", "test/vignettes")) cat( ''Package: test Title: Test pkg Description: Investigate how to auto-compile markdown vignettes Version: 0.0-1 Date: 2015-03-15 Author: Jeromy Anglim Maintainer: Jeromy Anglim <[email protected]> Suggests: knitr License: Unlimited VignetteBuilder: knitr'', file = "test/DESCRIPTION" ) cat( ''--- title: "Introduction" author: "Jeromy Anglim" date: "`r Sys.Date()`" output: html_document --- <!-- %//VignetteEngine{knitr::rmarkdown} %//VignetteIndexEntry{Introduction} --> # Introduction A sample vignette! ```{r} 1 + 1 ```'', file = "test/vignettes/intro.Rmd" ) cat( "#'' Nothing #'' This function is only needed so that roxygen generates a NAMESPACE file. #'' @export nothing <- function() 0", file = "test/R/nothing.R" ) library(roxygen2) library(devtools) roxygenise("test") build("test")