R en latex
Click here to load reader
Transcript of R en latex
Documentos de Latex que incluyen
código de R
¿Qué necesitamos instalar o configurar?
Instalar R (versión 2.15.0 o posterior)
Instalar RStudio (versión 0.96.331 o posterior)
Instalar el paquete knitr mediante el comando install.packages("knitr") de
R.
Configurar RStudio de la siguiente forma (en el menú Tools, Options, Sweave):
¿Cómo crear un fichero Latex que incluye código de
R?
En RStudio abrimos un fichero nuevo del tipo R Sweave (en el menú File, new,
R Sweave). Este fichero tiene extensión .Rnw.
En el editor escribimos como habitualmente haríamos en Latex
Podemos incluir código de R entre dos líneas con el siguiente formato:
o La primera línea consiste en una serie de opciones entre los comandos <<
y >>=.
o La última línea consiste en una arroba @ (véase el ejemplo).
o Entre estas dos líneas podemos escribir el código en R que queramos.
Las opciones de la primera línea permiten transcribir el código, pero no
el resultado de su ejecución, o tanto el código como sus resultados, o
sólo los resultados pero no el código (véase el ejemplo).
Para procesar el fichero y generar un pdf basta usar el botón Compile PDF en la
parte superior del editor. Se generan así un fichero .tex y el correspondiente
.pdf.
Las principales opciones:
o echo (echo=FALSE oculta el código y echo=TRUE lo muestra)
o results (results='hide' oculta los resultados, results='markup'
muestra los resultados resaltados con un fondo gris, results='asis'
muestra los resultados sin resaltar)
Un ejemplo
\documentclass[12pt,a4paper,twoside]{article}
%-------------------------------------------------------------
% Preambulo
\usepackage{graphicx,hyperref,amsmath,natbib,bm,url,microtype}
\usepackage[spanish]{babel}
\usepackage[a4paper,text={16.5cm,25.2cm},centering]{geometry}
\usepackage[compact,small]{titlesec}
\usepackage[utf8]{inputenc}
\setlength{\parskip}{1.2ex}
\setlength{\parindent}{0em}
\clubpenalty = 10000
\widowpenalty = 10000
%--------------------------------------------------------------
\begin{document}
%--------------------------------------------------------------
\begin{itemize}
\item Muestra el codigo pero no los resultados:
<<echo=TRUE, results='hide' >>=
1 + 1
@
\item Muestra solo los resultados:
<<echo=FALSE, results='markup' >>=
1 + 1
@
\item Muestra el codigo y los resultados:
<<echo=TRUE, results='markup' >>=
1 + 1
@
\item Muestra el codigo (sobre fondo gris) y los resultados (sin fondo
gris):
<<echo=TRUE, results='asis' >>=
1 + 1
@
\item Descarta los graficos
<<echo=TRUE, results='markup', fig.keep='none' >>=
x <- rnorm(5)
print(x)
boxplot(x)
@
\item No descarta el grafico
<<echo=TRUE, results='markup', fig.keep='all' >>=
x <- rnorm(50)
boxplot(x)
@
\item No descarta el grafico y controla su tamaño y posicion:
<<echo=TRUE, results='markup', fig.keep='all', fig.width=5 ,
fig.height=3 , fig.align='center' >>=
x <- rnorm(50)
boxplot(x)
@
\end{itemize}
\end{document}