2012-12-07 13 views
6

Sto usando R per analizzare i dati statistici e tracciare istogrammi, grafici a dispersione, ecc.LaTeX e R bundle?

E quindi devo esportare tutti i grafici come PDF per includerli manualmente nel rapporto LaTeX.

Mi chiedo se esiste un modo per semplificare questo processo?

Sarei felice di scrivere qualcosa di simile:

\chapter{One} 
\begin{r} 
    qplot(...) 
\end{r} 

In modo che il codice tra \begin{r} e \end{r} genererebbe una trama, salvarlo da qualche parte in formato PDF e produrre TeX come questo:

\begin{figure}[ht!] 
    \includegraphics[width=1\textwidth,height=1\textheight]{/path/to/plot.pdf} 
\end{figure} 

risposta

6

Quello che vuoi è knitr.

Il sito ha lots of examples

all'interno del documento si può fare qualcosa di simile

<<boring-plots, fig.width=4, fig.height=4, out.width='.4\\linewidth'>>= 
## two plots side by side (option fig.show='hold') 
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3,las=1) 
boxplot(x) 
hist(x,main='') 
@ 

O anche impostarlo in modo la sintassi

\begin{r} 

\end{r} 

avrebbe funzionato.

La pdf output del minimal example da cui l'esempio di cui sopra viene

+0

Grazie! Come potevo non saperlo prima! –

+3

Grazie! Voi ragazzi siete veloci. Sono contento che sarò in grado di stare lontano da SO e concentrarmi invece sul mio libro di knitr :) –

5

Rstudio + knitr sono grandi

http://www.rstudio.com/ide/docs/authoring/overview 
+0

Grazie! Sto usando RStudio. E 'veramente forte. :) –

10

vedere se si può essere convinti dal 5-min video sulla homepage knitr s': http://yihui.name/knitr/ Se ti interessa solo LaTeX, inizia da 2:54.

il codice sorgente sarebbe stato così:

\chapter{One} 
<<plot, out.width='1\textwidth', out.height='1\textheight', fig.pos='!ht', fig.cap='your caption'>>= 
    qplot(...) 
@ 
+0

Grazie! Sembra molto pulito. –