sheet - r markdown: the definitive guide
R Markdown-nombre de salida variable (3)
Con un archivo de reducción de R, me gustaría crear diferentes documentos PDF de salida posibles, donde el nombre del archivo de salida debe definirse dentro del documento. ¿Hay alguna manera de convencer a markdown para manipular el nombre de archivo de salida de tal manera? Idealmente, me gustaría pasar el nombre del archivo por un trozo r.
Esto es más o menos lo que hago:
rmarkdown::render(''my_markdown_report.Rmd'',
output_file = paste(''report.'', Sys.Date(),
''.pdf'', sep=''''))
Tengo tres scripts: uno extrae los datos y los procesa, luego los cuadros y tablas creados para el informe. El tercero crea un informe basado en un archivo de rebajas. El código que ves arriba es la parte del tercer script
Puede mantener la simplicidad de usar el botón RStudio Knit
y la reproducibilidad de un encabezado YAML utilizando el gancho de knit
no documentado para redefinir lo que hace el botón (la función predeterminada llamada rmarkdown::render
). El parámetro output_file
de la función de procesamiento especifica el nombre del archivo, por lo que, al configurarlo, se invalida el comportamiento estándar de usar el mismo prefijo que el nombre de archivo de entrada.
por ejemplo, para generar siempre un archivo llamado myfile.pdf
knit: (function(inputFile, encoding) { rmarkdown::render(inputFile, encoding = encoding, output_file = file.path(dirname(inputFile), ''myfile.pdf'')) })
La función puede ser anónima, así como importada de un paquete, como se ve here con slidify .
Puede configurar sus propios encabezados YAML (no sé si esto se recomienda en general de todos modos), accesible en rmarkdown::metadata$newheader
pero no parecen estar disponibles desde este tipo de función por lo que puedo ver.
En cuanto a pasar el nombre del archivo desde un fragmento R ... si te refieres a fragmentos de código debajo del encabezado YAML, desde mi experiencia, no creo que sea posible (?). Los encabezados pueden contener comandos R en línea (encerrado en un solo comillas, comenzando con r
), pero aparentemente no para esta función de enlace.
Relacionados :
- Problema de reposición de Rmarkdown GitHub - archivo de salida específico del formato de salida
- Publicación en el blog que escribí después de esta pregunta sobre usos más elaborados del
knit:
gancho / notas de GitHub wiki correspondientes
Siguiendo con lo que @ilya escribió, esta página web tiene un gran ejemplo que demuestra lo que están describiendo, que es cómo crear múltiples informes reproducibles desde el mismo documento .Rmd:
http://www.reed.edu/data-at-reed/software/R/markdown_multiple_reports.html
La página web utiliza dos scripts, un script R y un script Rmarkdown para crear múltiples informes. Lo he usado como plantilla para mi propio trabajo y lo he encontrado muy útil.