CIMA   09099
CENTRO DE INVESTIGACIONES DEL MAR Y LA ATMOSFERA
Unidad Ejecutora - UE
congresos y reuniones científicas
Título:
latinr en LatinR: automatizando el envío de trabajos a conferencias de R con un paquete de R
Autor/es:
ELIO CAMPITELLI
Reunión:
Conferencia; LatinR 2020 Conferencia Latinoamericana sobre Uso de R en Investigación + Desarrollo; 2020
Resumen:
Una de las grandes ventajas de R es knitr [@knitr] y el ecosistema de paquetes al rededor de R Markdown [@rmarkdown]. La posibilidad de tener el código que genera los resultados en el mismo documento que la prosa que los describe implica que les usuaries no necesitan copiar y pegar tablas y figuras generadas manualmente. Esto reduce errores y facilita la reproducibilidad de los reportes. Actualmente existen numerosos paquetes que permiten correr código de R y generar documentos en una infinidad de formatos, desde sitios web y blogs [@blogdown] hasta libros [@bookdown]. Roger Peng [@peng_2017] considera que la facilidad de escribir documentos reproducibles usando knitr y R Markdown es la primera de las 4 características que destacan a R como lenguaje y ecosistema. Pero para muchos formatos, la vida del documento recién comienza con su creación y a veces el proceso de publicación es dolorosamente manual. En particular, enviar trabajos a congresos y conferencias suele implicar llenar formularios con, en la gran mayoría de los casos, información redundante. ¿Por qué el formulario me exige escribir el título de mi resumen si éste ya está *en el propio resumen*? El paquete **latinr** busca automatizar este proceso lo más posible. Permite escribir el resumen enteramente en R Markdown y enviarlo sin salir de la sesión de R. Todos los datos se ingresan una sola vez en el encabezado YAML y son usados tanto para la generación del PDF como para llenar el formulario de inscripción automáticamente. El funcionamiento interno está fuertemente está inspirado en el paquete **rticles** [@rticles], el cual provee plantillas para generar artículos listos para ser presentados a distintas revistas científicas usando únicamente R Markdown (es decir, sin tener que saber nada de \LaTeX). El proceso empieza creando un documento con la planilla provista por el paquete. El paquete provee una interfaz gráfica construida con **shiny** [@shiny; @miniUI] que permite llenar los datos del trabajo a ser enviado y que se invoca con `latinr::latinr_wizard()`. Esta misma interfaz chequea y avisa si hay errores, como datos faltantes o mala cantidad de palabras clave. Alternativamente, se puede crear la plantilla base desde una ventana de RStudio yendo a Archivo → Nuevo Archivo → R Markdown → Desde Plantilla y eligiendo "LatinR submission article".Luego de creado el archivo base, se escribe el resumen usando R Markdown. Cuando el documento está listo, se envía usando `latinr::latinr_submit()`. El comando automáticamente chequea que los metadatos no tengan errores y envía el PDF luego de una inspección final. Por defecto, renderiza el archivo de R Markdown usando la platilla anonimizada, lo que garantiza que el PDF enviado sea reproducible (al menos en la máquina local) y que se corresponda con los metadatos. Una preocupación importante fue la de permitir el acceso a personas que no quieran o no sepan usar R Markdown y personas que prefieran hacer el envío con una interfaz gráfica en la web. Como respuesta a esto, el paquete puede usarse para generar el PDF únicamente, o para enviar un PDF previamente creado con cualquier otra herramienta. ## Desarrollos futurosAdemás de pulir errores y problemas varios de usabilidad (por ejemplo, chequear automáticamente que el PDF cumpla con el límite de páginas), el futuro de **latinr** es adaptarse a otras plataformas. Por ahora el envío de trabajos se hace a través de la plataforma EasyChair y esa conexión es inestable ya que depende de que se mantenga la implementación interna de su formulario web. La visión es extender **latinr** a herramientas para la gestión de la conferencia. Es decir, recepción de trabajos, distribución a los evaluadores, recepción de evaluaciones y la creación semiautomática de cronogramas. En lo posible haciendo uso de servicios abiertos, gratuitos o de bajo costo.