Ya llevamos algunos post contándote las bondades de este lenguaje de programación y todo lo que te permite hacer con tus datos, en este caso queremos hablarte de las posibilidades que hay para la automatización de informes en R.
RMarkdown nos ofrece la posibilidad de alternar código ejecutable en R (y sus outputs) con texto e imágenes. De esta manera podemos obtener informes visualmente agradables a la vez que compartimos código.
En ocasiones generamos un informe que hay que actualizar periódicamente. Supongamos que en el código hemos definido las fechas de un periodo de consulta de manera dinámica y cada primero de mes hemos de publicarlo. ¿Qué ocurre si cae en fin de semana o estamos de vacaciones? ¡El mundo no se acaba! La manera de automatizarlo sería programando una tarea que se ejecute con una periodicidad determinada, en este caso mensual. Este post aborda esta cuestión, haciendo uso del Programador de tareas de Windows:
1. Ir a Programador de tareas de Windows.
2. Crear tarea básica.
3. Asignar nombre a la tarea.
4. Fijar periodicidad.
En este apartado especificamos si queremos programar una tarea puntualmente o con una periodicidad (diaria, semanal, mensual). En nuestro caso la programaremos para lanzarse cada día 1 de mes.
5. Fijar acción.
Damos la orden de iniciar un programa en la fecha especificada en el apartado anterior.
6. Especificar programa/script y argumentos.
- Programa o script: damos la ruta al archivo ejecutable de R en nuestro ordenador (es decir, el programa encargado de ejecutar nuestro RMarkdown).
- Argumento: CMD BATCH “ruta del script de R que hará que el .Rmd se ejecute”. En nuestro ejemplo el archivo “run.R” (*)
(*) run.R. Nuestro script en R:
- Especifica la ruta al directorio en que se encuentra el archivo .Rmd (el que genera el RMarkdown).
- Llamada a la librería rmarkdown.
- En la función render pasamos dos argumentos: el primero especifica el nombre del archivo .Rmd y el segundo el formato de salida de nuestro informe, en este caso «pdf_document» (también disponible la opción «html_document»).
7. Finalizar definición de tarea.
Al iniciarse la tarea programada, podemos comprobar en tiempo real en el Administrador de tareas que R está ejecutando.
Como resultado de la ejecución, se generan en el mismo directorio del archivo .Rmd dos archivos: un log y el pdf resultante.
NOTA: Para que se lleve a cabo correctamente la conversión a pdf es necesario tener instalado tanto pandoc como LaTeX (o MiKTeX).
1 comentario en “Automatización de informes en R”
Pingback: Googlesheets: Conectando R con hojas de cálculo Google - DoctorMetrics