Sweave, esa maravillosa y libre función que me permite integrar el lenguaje estadístico R con LaTeX [P→].
7.1 Instalando Sweave
- Instalar R [Q→].
$ sudo apt-get install r-base r-recommended$ sudo texhash && lyx -x reconfigure - Instalar las plantillas. Descargamos los archivos que hay en R-Project (nos olvidamos de la carpeta). Copiamos los archivos “literate-*.*” y en nuestra carpeta de usuario (~/.lyx) o en la carpeta de librerías (/usr/share/lyx), dentro del directorio “layouts” (si no son estas, búscalas en Ayuda ▷ Acerca de LyX).
- Modificar el archivo “preferences”. Abrimos el archivo “preferences” que antes descargamos y copiamos el contenido a continuación del que está en nuestra carpeta de usuario (los más precavidos pueden hacer una copia de seguridad antes).
- Reconfigurar LyX (abrimos LyX y le damos a Herramientas ▷ Reconfigurar). Tras lo cual, reiniciamos el programa y listo.
7.2 Introducir código R
- Seleccionamos una de las plantillas que acabamos de instalar: article , book o report (Sweave noweb).
- Introducimos código R. Del mismo modo con el que introducimos código LaTeX (ERT), metemos nuestro código R. Yo he usado este:
<<fig=T,echo=F,height=4>>= asequence<- seq(from=0,to=5,by=0.1) expnegx2 <- exp(-asequence^2) plot(asequence,expnegx2,type="l",ylab=expression(exp(-z^2)),xlab="z") @ - Compilamos. Ver ▷ PDF [R→].
- Admiramos y reflexionamos. ¡Me encanta LyX! Esto no se pudiera haber realizado si R y LaTeX/LyX fueran proyectos privativos.
Más información: Wiki LyX; RNews: “Using Sweave with LyX” (pdf).
7.3 Utilizar Sweave con la clase Beamer
LaTeX es mucho más que un lenguaje para procesar textos, yo llevamos viendo desde hace mucho tiempo. Acerca de una fantástica prueba de ello ya hemos tratado: la integración con el lenguaje estadístico R gracias a Sweave. Sin embargo, no existe ninguna plantilla funcional para poder usar Sweave con la clase para presentaciones Beamer. Existe una solución, aviso que tiene alguna pega, pero que funciona totalmente bien. Gregor Gorjanc, ha realizado un sencillo manual para ayudarnos a conseguirlo. Consiste en crear con archivo con extensión *.layout y con cualquier nombre, por ejemplo, Beamer-Sweave.layout. El contenido que tiene que llevar es:
# % Do not delete the line below; configure depends on this # DeclareLaTeXClass[beamer, Sweave.sty]{beamer (beamer Sweave noweb)} # # This is a copy of literate-article.layout from LyX, but changed for # Sweave - NoWeb syntax: # - changed noweb.sty to Sweave.sty # - moved preamble to literate-scrap.inc Format 2 Input beamer.layout Input literate-scrap.inc Guardamos el fichero creado en la carpeta ~/.lyx/layouts de nuestro home (recuerda que es un fichero oculto), y reconfiguramos LyX. Ahora debería de funcionar, debes de tener una clase de documento beamer (beamer Sweave noweb). Si no lo consigues, pásate por el blog de Duncan Golicher, un bloguero que está haciend \newcommand{\newmacroname}{} o un tutorial para R. Aquí te puedes descargar una versión de su carpeta ~/.lyx. Cambia el nombre de tu carpeta actual, y pega la que te has descargado para después reconfigurar.
Dos son los problemas más evidentes que tiene esta plantilla: la imposibilidad de utilizar los entornos de Titulación y la de escalar los archivos de imagen (ni con nuestro editor favorito, yo uso The Gimp). Además, existe otra plantilla diferente que podéis encontrar en este foro, aunque no he conseguido que me funcione. Menos da una piedra y el resultado es muy bueno.
———————————————————————————————————————————————————————————
[→P] Conocí esta caracterísita de LaTeX a través de Ángel Martín, muchas gracias
[→Q] Para saber más, ver Bioinformatiquillo
[→R] Atención: con estas plantillas he tenido problemas al compilar con las tildes en la codificación “latin 1″, pero lo solucioné escogiendo “utf8″ en Documento ▷ Configuración ▷ Idiomas ▷ Codificación.










1 Respuesta a “Integración con R gracias a Sweave”