R en latex

3

Click here to load reader

Transcript of R en latex

Page 1: 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).

Page 2: R en latex

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

Page 3: R en latex

@

\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}