Buròcrates, Administradors (Semantic MediaWiki), Curadors (Semantic MediaWiki), Editors (Semantic MediaWiki), Administradors
10.883
modificacions
m (Revertides les edicions de 91.201.66.91 (discussió). S'ha recuperat la darrera versió de l'usuari 83.43.49.230) |
|||
| (10 revisions intermèdies per 6 usuaris que no es mostren) | |||
| Línia 1: | Línia 1: | ||
[[Categoria:Software]] | [[Categoria:Software]] | ||
Sweave es una función de [[R]] que se inscribe en lo que se ha venido a denominar [http://www.bepress.com/cgi/viewcontent.cgi?article=1017&context=uwbiostat Literate Statistics]. El objetivo es tener entremezclado en un único fichero de sintaxis tanto el texto (en formato '''[[Latex|LaTeX]] '''o '''HTML''') y el código estadístico de [[R]]. Cuando se procesa el código, el ''output'' mezcla automáticamente el texto con las tablas y otros objetos de [[R]], lo que facilita enormemente algunas tareas como la generación periódica de informes o de textos cuando se cambian, aunque sea mínimamente, los datos de origen. | Sweave es una función de [[R]] que se inscribe en lo que se ha venido a denominar [http://www.bepress.com/cgi/viewcontent.cgi?article=1017&context=uwbiostat Literate Statistics]. El objetivo es tener entremezclado en un único fichero de sintaxis tanto el texto (en formato '''[[Latex|LaTeX]] '''o '''HTML''') y el código estadístico de [[R]]. Cuando se procesa el código, el ''output'' mezcla automáticamente el texto con las tablas y otros objetos de [[R]], lo que facilita enormemente algunas tareas como la generación periódica de informes o de textos cuando se cambian, aunque sea mínimamente, los datos de origen. | ||
Si quieres, puedes consultar también [[Trabajar|nuestra guía]] sobre como poner en funcionamiento un completo sistema de trabajo para la investigación en medicina. | |||
== Requerimientos == | == Requerimientos == | ||
* Tener instalado y funcionando el sistema [[R]]. | * Tener instalado y funcionando el sistema [[R]]. | ||
* Una distribución [[Latex|LaTeX]] instalada y funcionando ([http://www.tug.org/teTeX/ teTex] en GNU/Linux o [http://www.miktex.org/ MiKTeX] en M$). Lógicamente no es necesario si se desea la integración en HTML y no en [[Latex|LaTeX]]. | * Una distribución [[Latex|LaTeX]] instalada y funcionando ([http://www.tug.org/teTeX/ teTex] con texinfo y tetex-extra en GNU/Linux o [http://www.miktex.org/ MiKTeX] en M$). Lógicamente no es necesario si se desea la integración en HTML y no en [[Latex|LaTeX]]. | ||
* Un editor de sintaxis, preferentemente [[Emacs]] aunque bajo M$ se puede usar también [http://www.winedt.com/ WinEdt]. | * Un editor de sintaxis, preferentemente [[Emacs]] con auctex y noweb, aunque bajo M$ se puede usar también [http://www.winedt.com/ WinEdt] o [https://sourceforge.net/projects/tinn-r Tinn-r] que és lliure que et coloreja la sintaxi de R, [[Latex|LaTeX]] i Sweave. | ||
* Si se trabaja en [[Emacs]], es aconsejable tener instalado el módulo Noweb que permite el coloreado de la sintaxis de Sweave (''chunks''), e identifica si se trata de un fragmento de texto o de código de [[R]]. Ningún otro editor permite esta función. | * Si se trabaja en [[Emacs]], es aconsejable tener instalado el módulo Noweb que permite el coloreado de la sintaxis de Sweave (''chunks''), e identifica si se trata de un fragmento de texto o de código de [[R]]. Ningún otro editor permite esta función. | ||
| Línia 84: | Línia 86: | ||
@ | @ | ||
En el estudio se incluyeron '''\Sexpr{length(seq(1,115))}''' sujetos. | En el estudio se incluyeron '''\Sexpr{length(seq(1,115))}''' sujetos. | ||
Esta forma de introducir código sin ''chunks'' específicos es exclusiva de la integración con [[Latex|LaTeX]] y no funciona con código HTML. | |||
| Línia 91: | Línia 95: | ||
Las reglas basicas se resumen en: | Las reglas basicas se resumen en: | ||
* Los identificadores de cada tipo de ''chunk'' son: '''<<argumentos=>>=''' para código [[R]] y '''@''' para código [[Latex|LaTeX]] o HTML. | * Los identificadores de cada tipo de ''chunk'' son: '''<<argumentos=>>=''' para código [[R]] y '''@''' para código [[Latex|LaTeX]] o HTML. | ||
* Para incluir órdenes de [[R]] en un ''chunk'' de texto se utiliza '''\Sexpr{}''' | * Para incluir órdenes de [[R]] en un ''chunk'' de texto se utiliza '''\Sexpr{}''' (sólo para [[Latex|LaTeX]]) | ||
| Línia 249: | Línia 253: | ||
Con el código anterior obtenemos directamente un fichero '''.html''' ya completo y visualizable con cualquier navegador. | Con el código anterior obtenemos directamente un fichero '''.html''' ya completo y visualizable con cualquier navegador. | ||
En ambos casos, si no se especifica la ruta completa sinó sólo el nombre del archivo '''.Rnw''', [[R]] lo buscará en el ''working directory'' actual. | |||
=== Paso 2 === | === Paso 2 === | ||
| Línia 264: | Línia 270: | ||
Antes de poder procesar automáticamente documentos de Sweave con código [[Latex|LaTeX]] hay que realizar el siguiente procedimiento, que deberá llevarse a cabo sólo '''una vez''' en cada ordenador y que permitirá ejecutar la función Sweave() de [[R]] sin necesidad de ejecutar manualmente el programa: | Antes de poder procesar automáticamente documentos de Sweave con código [[Latex|LaTeX]] hay que realizar el siguiente procedimiento, que deberá llevarse a cabo sólo '''una vez''' en cada ordenador y que permitirá ejecutar la función Sweave() de [[R]] sin necesidad de ejecutar manualmente el programa: | ||
* Descargar este [ | * Descargar este [[Media:Sweave.sh | '''shell script''']], copiarlo a la ubicación ''/usr/local/bin/'' y desde una ventana de terminal ejecutar: | ||
sudo chmod +x /usr/local/bin/Sweave.sh | sudo chmod +x /usr/local/bin/Sweave.sh | ||
Una vez hecho esto, ya estamos en disposición de compilar documentos Sweave con código [[Latex|LaTeX]] en un solo paso. Para ello, debemos descargar este [ | Una vez hecho esto, ya estamos en disposición de compilar documentos Sweave con código [[Latex|LaTeX]] en un solo paso. Para ello, debemos descargar este [[Media:Makefile | '''archivo Makefile''']] (haciendo click con el botón derecho y pulsando ''Guardar enlace como'') y editarlo para sustituir la expresión: | ||
nombrearchivo | nombrearchivo | ||
| Línia 274: | Línia 280: | ||
presente en las dos primeras líneas, por el nombre de nuestro fichero Sweave '''sin''' la extensión '''.Rnw'''. | presente en las dos primeras líneas, por el nombre de nuestro fichero Sweave '''sin''' la extensión '''.Rnw'''. | ||
El fichero [ | El fichero [[Media:Makefile | Makefile]] debe situarse en el mismo directorio donde tengamos el archivo '''.Rnw'''. | ||
Así, para cada proyecto Sweave que tengamos, deberemos tener un directorio independiente con dos archivos: '''fichero.Rnw''' y un [ | Así, para cada proyecto Sweave que tengamos, deberemos tener un directorio independiente con dos archivos: '''fichero.Rnw''' y un [[Media:Makefile | Makefile]] que en las dos primeras líneas contenga el nombre del archivo '''.Rnw''' (sin la extensión). | ||
Una vez hecho esto, debemos editar el archivo '''.Rnw''' en [[Emacs]], grabarlo y pulsar: | Una vez hecho esto, debemos editar el archivo '''.Rnw''' en [[Emacs]], grabarlo y pulsar: | ||
| Línia 284: | Línia 290: | ||
make -k {Ret} | make -k {Ret} | ||
Este procedimiento va a generar dos archivos con el documento final, un '''.pdf''' y otro '''.ps'''. El [ | Este procedimiento va a generar dos archivos con el documento final, un '''.pdf''' y otro '''.ps'''. El [[Media:Makefile | fichero Makefile]] descargado es fácilmente costumizable para que cree sólamente uno de los dos ficheros resultado. | ||
Se | Se aconseja visualizar ambos tipos de archivos con el programa [http://www.gnu.org/software/gv/ Gnome Ghost Viewer] (es el visualizador por defecto de ficheros '''.ps'''), que actualiza directamente la vista de los archivos cuando estos cambian (es decir cada vez que se produce una nueva compilación) sin necesidad de tener que cerrar y volver a abrir el programa. Para que esto suceda, hay que marcar la opción ''Mira un fitxer'' en las preferencias del programa. | ||
Todo lo anterior tiene la ventaja de permitir compilar archivos Sweave con una sola orden, lo que facilita la realización de compilaciones sucesivas para ir comprobando cómo está quedando nuestro documento, y detectar de forma temprana los errores en el código de [[R]]. | Todo lo anterior tiene la ventaja de permitir compilar archivos Sweave con una sola orden, lo que facilita la realización de compilaciones sucesivas para ir comprobando cómo está quedando nuestro documento, y detectar de forma temprana los errores en el código de [[R]]. | ||
| Línia 302: | Línia 308: | ||
[http://www.ci.tuwien.ac.at/~leisch/Sweave/Sweave-Rnews-2002-3.pdf Rnews: Sweave Parte I] | [http://www.ci.tuwien.ac.at/~leisch/Sweave/Sweave-Rnews-2002-3.pdf Rnews: Sweave Parte I] | ||
[http://www.ci.tuwien.ac.at/~leisch/Sweave/ Otros enlaces y ejemplos interesantes] | [http://www.ci.tuwien.ac.at/~leisch/Sweave/ Otros enlaces y ejemplos interesantes] | ||