script de R

Páginas: 14 (3307 palabras) Publicado: 20 de julio de 2013
A
Generacion automatica de informes con Sweave y L TEX
´
´
Francesc Carmona
Departamento de Estad´
ıstica
Universidad de Barcelona
Marzo 2012

1.

Introducci´n
o

Como dice el manual oficial: “Sweave proporciona un marco flexible para mezclar texto y c´digo R con
o
el objetivo de generar documentos de forma autom´tica”. Un unico archivo fuente contiene el texto y el
a
´
c´digo Ry tras el proceso se obtiene un documento final con
o
el texto con formato
el c´digo R (que tambi´n se puede ocultar) y/o
o
e
los resultados del c´digo (texto, c´lculos, gr´ficos)
o
a
a
Este proceso permite regenerar un informe cuando los datos cambian o reproducir un an´lisis con el
a
mismo archivo con ligeras modificaciones y generar el correspondiente informe. La idea es incluir elc´o
A
digo S para el an´lisis en un documento L TEX con una sintaxis noweb (Ramsey, 1998). Noweb es una
a
herramienta de programaci´n literal que permite combinar c´digo fuente de programas y la documeno
o
taci´n correspondiente dentro de un mismo archivo. Sweave reemplaza el c´digo con sus resultados, de
o
o
forma que el documento final contiene el texto y los resultados del an´lisis estad´a
ıstico. As´ se combinan
ı
A
la potencia del L TEX para dar formato a documentos de gran calidad y el an´lisis de los datos con R.
a
A
Muchos de los usuarios de R son tambi´n usuarios de L TEX aunque, en caso contrario, Sweave es un
e
A X. Seguramente, los usuarios de L T X disponen de un editor de texto
A
buen argumento para aprender L TE
E
como Emacs que tiene un modo ESS nowebideal para nuestro prop´sito. En cualquier caso, Sweave es
o
un sistema independiente y se puede utilizar con cualquier editor de texto, aunque siempre es preferible
A
uno que nos ayude con L TEX y/o R como WinEdt, Tinn-R,. . . Aunque se pueden crear diferentes drivers
A
para trasladar los archivos Sweave a diferentes lenguajes (L TEX, HTML,. . . ) con diferentes motores S
A
(R, S-Plus,. . .), actualmente unicamente disponemos del driver RWeaveLatex que combina R y L TEX.
´

Archivos noweb
Un archivo noweb es un archivo de texto simple que consiste en varios segmentos separados de texto y
c´digo de programaci´n. Estos segmentos se llaman trozos (chunks). Los hay de dos tipos:
o
o
Trozos de texto que empiezan con el signo @ como primer car´cter, seguido por un espacio enblanco
a
o un car´cter de salto de l´
a
ınea. Si se escribe algo despu´s del espacio en blanco, se considera un
e
comentario y se ignora. Lo normal en estos trozos es introducir texto con instrucciones para darle
A
formato como en L TEX.
Trozos de c´digo que empiezan con = al principio de l´
o
ınea. Aqu´ tambi´n el resto de la l´
ı
e
ınea
puede ser un comentario y es ignorado.
Unarchivo fuente para Sweave es un archivo noweb est´ndar con alg´n a˜adido extra para controlar
a
u n
mejor el resultado final. La extensi´n habitual para los archivos noweb es .nw y as´ se puede escribir para
o
ı
los archivos Sweave. Adem´s, Sweave reconoce las extensiones .rnw, .Rnw, .snw y .Snw. De todas ellas,
a
nosotros nos inclinamos por .Rnw ya que refleja la relaci´n con R.
o
En la figura1 se muestra el procedimiento completo para trabajar con Sweave. Desde la linea de comandos
de R y si tenemos la carpeta de trabajo adecuada, simplemente haremos:
> Sweave("doc.Rnw")

1

Figura 1: Diagrama de archivos para trabajar con Sweave.
A
A
y obtenemos el archivo doc.tex para procesar con L TEX o PDFL TEX.
Por otra parte, si hacemos:

> Stangle("doc.Rnw")
el archivo que seobtiene es doc.R que contiene el c´digo R de todo el documento original. Con la opci´n
o
o
split=TRUE activa, los diversos trozos se escriben en archivos separados.

2.

Un ejemplo sencillo

A continuaci´n presentamos un ejemplo sencillo de archivo Sweave que contiene dos trozos de c´digo
o
o
A
entre el texto y las instrucciones de formato de un t´
ıpico archivo L TEX que llamaremos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • SCRIPT
  • Script
  • Script
  • script
  • Script!.
  • Script
  • Script
  • El Script

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS