PDF de programación - Generación automática de reportes con R y LATEX

Imágen de pdf Generación automática de reportes con R y LATEX

Generación automática de reportes con R y LATEXgráfica de visualizaciones

Actualizado el 15 de Junio del 2021 (Publicado el 15 de Enero del 2017)
1.328 visualizaciones desde el 15 de Enero del 2017
170,4 KB
10 paginas
Creado hace 17a (06/12/2006)
Generación automática de reportes con R y LATEX

Automatic report generation with R and LATEX

Mario Alfonso Morales Rivera*

Resumen

R es un lenguaje y entorno para calculo estadístico y gráficos. Es un proyecto GNU similar al
lenguaje y entorno S que fue desarrollado en los laboratorios Bell por John Chambers y colegas. R
puede considerarse como otra implementación del lenguaje S.

R proporciona una amplia variedad de técnicas estadísticas y gráficas y es altamente extendible.
A menudo el lenguaje S es el vinculo escogido por investigadores en metodología estadística, y R
proporciona una ruta de código abierto para la participación en esa actividad (R Development Core
Team 2006).

LATEX es un sistema de preparación de documentos para composición de texto de alta calidad.
Este es usado a menudo para escribir medianos a grandes documentos científicos y técnicos, pero
puede usarse para casi cualquier tipo de publicación.

LATEX fue desarrollado en 1985 por Leslie Lamport, y ahora lo mantiene y desarrolla el proyecto
LATEX3. Al igual que R, LATEX es software libre y en este momento es el formato de documento más
empleado entre matemáticos y estadísticos (The LaTeX3 project 2006).

La función Sweave() de R proporciona un marco flexible para mezclar texto y código R para la
generación automática de documentos. Un archivo fuente simple contiene el texto de documentación
y el código R, los cuales son entrelazados dentro de un documento final que contiene el texto de
documentación junto con el código R y/o la salida del código (texto, gráficos). El código R del análisis
completo es incrustado dentro de un documento LATEX usando la sintaxis noweb (Ramsey, 1998). Por
tanto, todo el poder de LATEX (para composición de texto de alta calidad) y de R (para análisis de
datos) puede usarse simultáneamente (Leisch 2005).

Este tutorial pretende dar ejemplos concretos acerca de la forma como trabaja Sweave, incluyendo

la configuración del sistema LATEX.

Palabras Claves: R, LATEX, Sweave, noweb

Abstract

R is a language and environment for statistical computing and graphics. It is a GNU project which
is similar to the S language and environment which was developed at Bell Laboratories by John
Chambers and colleagues. R can be considered as a different implementation of S.

R provides a wide variety of statistical and graphical techniques, and is highly extensible. The S
language is often the vehicle of choice for research in statistical methodology, and R provides an Open
Source route to participation in that activity (R Development Core Team 2006).

LATEX is a document preparation system for high-quality typesetting. It is most often used for
medium-to-large technical or scientific documents, but it can be used for almost any form of publis-
hing.

It was first developed in 1985 by Leslie Lamport, and is now being maintained and developed
by the LaTeX3 project. Like R, LATEX is free software and it is the most commonly used document
format among mathematicians and statisticians at the present time (The LaTeX3 project 2006).

The function Sweave() from R provides a flexible framework for mixing text and R code for
automatic document generation. A single source file contains both documentation text and R code,
which are then woven into a final document containing, the documentation text together with the R
code and/or the output of the code (text, graphs). The S code of the complete analysis is embedded

*Profesor asistente, Departamento de Matemáticas y Estadística, Universidad de Córdoba

[email protected]

2

into a LATEX document using the noweb syntax (Ramsey, 1998). Hence, the full power of LATEX (for
high-quality typesetting) and R (for data analysis) can be used simultaneously (Leisch 2005).

This tutorial wants to give concrete examples about of how Sweave work, including the LATEX

3

system configuration.

Keywords: R, LATEX, Sweave, noweb.

1.

Introducción

El análisis estadístico tiene dos etapas bien diferenciadas. Por una parte está el análisis de los datos, que
involucra la utilización de un paquete (software) estadístico para producir números, tablas y gráficos y
por otra está la escritura del informe final (reporte) que requiere de la utilización de un procesador de
texto.
La mayoría de los paquetes estadísticos tienen la opción de guardar sus salidas (resultados) en archivos
con formato .doc, .rtf o .txt, los cuales permiten usar un procesador de texto como Microsoft Word
u Open Office para abrirlo, así que copiando y pegando, se construye el reporte final con los comentarios
del análisis.
Si deseamos usar LATEX 1 para la composición del texto del reporte o artículo, encontramos que la
metodología de copiar y pegar resulta poco eficiente, por varias razones:

LATEX tiene formato muy particular para la inclusión de tablas.

LATEX tiene un comando especial para la inclusión de gráficos, con opciones que varían según el
formato del archivo a importar.

“LATEX ignora –en el archivo fuente– cualquier espacio que siga a otro espacio; es decir un espacio
es lo mismo que 10 espacios o 100 espacios” (Rodrigo De Castro Korgi 2003)

Las salidas de los paquetes usan caracteres como %, # y & entre otros, que son reservados de LATEX
y si no se emplean adecuadamente generan errores al momento de compilar

Si insistimos en usar LATEX y el método copiar–pegar para la edición del reporte, debemos estar preparados
para perder mucho tiempo dándole formato a las tablas y salidas del paquete estadístico para obtener
un documento de alta calidad en cuanto a su presentación y estética. La filosofía de LATEX es: usted se
dedica a la producción intelectual, y no se preocupa por la presentación del documento, de eso se encarga
LATEX. La pérdida de tiempo dándole formato al texto y tablas de un análisis estadístico va totalmente
en contra de este concepto.
R y S-PLUS son dos herramientas2 ampliamente usadas por la comunidad estadística para el análisis de
datos y producción de gráficos de alta calidad. Una característica importante de estos dos entornos es su
alta compatibilidad con LATEX. Los creadores del lenguaje S, el equipo de desarrollo de R y los usuarios
que escriben extensiones (librerías), se preocupan por facilitar la tarea de inclusión de los resultados del
análisis de los datos y los gráficos en documentos LATEX, es así como los usuarios de R contamos con
el entorno gráfico pictex que permite generar directamente, desde R, gráficos en el código de LATEX; la
librería xtable que permite generar el código LATEX para tablas, marcos de datos y matrices de tal forma
que funcione copiar–pegar, la función latex() de la librería Hmisc que convierte objetos de R a código
LATEX y la función Sweave(), objeto de este tutorial, que toma un archivo que contiene el texto con los
comentarios del análisis, formulas, el código de R usado para realizar los cálculos y generar los gráficos,
y entrega un archivo plano con extensión .tex en el que deja sin modificar todo lo que tiene que ver con
fórmulas y texto y adiciona: las salidas de R, el código usado (opcional) y el comando para la inserción de

1El uso de LATEX para la composición de texto se hace indispensable (por no decir obligatorio) cuando, por ejemplo, en
el ejercicio de la docencia en estadística se desean escribir notas de clases o tutoriales que incluyen texto, fórmulas, salidas
de un programa de análisis de datos, como tablas y gráficos, el código usado para obtener dichas salidas y mucha referencia
cruzada.

2R se puede descargar gratuitamente de http://www.r-project.org/, S-PLUS es comercial y su distribuidor autorizado

para América Latina es MS MIAMI, http://www.msmiami.com/

4

Mario A. Morales R.

los gráficos. El archivo .tex se compila con LATEX y se obtiene un documento de alta calidad sin pérdida
de tiempo. Sweave es compatible con la filosofía de LATEX en el sentido que nos permite dedicar nuestro
escaso y valioso tiempo a planear el análisis, escribir el código (script ) para obtener cálculos y gráficos y
a comentar los resultados. De la presentación del documento se encarga Sweave junto con LATEX.
Se enfatiza la frase sin pérdida de tiempo, porque en realidad si la hay. Los que inician el aprendizaje de
LATEX y de R tienen que invertir una cantidad considerable de tiempo para empezar a tener resultados
aceptables, Sweave no es la excepción. Con este documento se ofrece un tutorial para que el lector reduzca
considerablemente el tiempo de aprendizaje de Sweave, de tal forma que el interesado no se frustre como
ocurre con muchos que intentan aprender a usar LATEX y R sin ninguna asistencia adicional.

2. Cómo funciona Sweave?

Sweave es un paquete de R escrito por Friedrich Leisch3 que permite al investigador entrelazar código R en
un documento LATEX usando las sintaxis noweb. Noweb es una herramienta de programación literal que
permite combinar código fuente de programas y la documentación correspondiente dentro de un archivo
simple. Un archivo noweb contiene una secuencia de segmentos de código y documentación, los cuales
reciben el nombre de chunks (Leisch 2005).

Código R

c

h

u

n

k

s

d

e

C

ó

dig

o

D o c

Noweb

d e

n k s

c h u

Texto

Fórmulas

doc.Rnw

Texto

Fórmulas
Código de R

Sweave()

doc.tex

Texto

Fórmulas
Salida de R

includegraphics

Código de R

Figura 1: Forma de proceder con Sweave

doc.pdf

LATEX

doc.dvi

doc.ps

Para la generación automática de un informe o reporte, se procede como se muestra en la figura 1. El
código de R se mezcla con el texto usando chunks de código y chunks de documentación de acuerdo con
la sintaxis noweb, este archivo se guarda como doc.Rnw4. Desde la linea de comandos de R se ejecuta la
orden

> Sweave(doc.Rnw)

Si no ocurren errores de sintaxis, Sweave genera el archivo doc.tex que contiene la documentación, la
salida del código R que estaba en los chunks de código y/o el código
  • Links de descarga
http://lwp-l.com/pdf1912

Comentarios de: Generación automática de reportes con R y LATEX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad