2012-12-07 9 views
6

Ich verwende R, um statistische Daten zu analysieren und Histogramme, Streudiagramme usw. zu plotten.LaTeX und R Bündel?

Und dann muss ich alle Plots als PDFs exportieren, um sie manuell in den LaTeX-Bericht aufzunehmen.

Ich frage mich, ob es einen Weg zur Vereinfachung dieses Prozesses gibt?

Ich würde gerne so etwas wie schreiben:

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

Damit der Code zwischen \begin{r} und \end{r} würde einen Plot erzeugen, ist es irgendwo als PDF speichern und produzieren TeX wie folgt aus:

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

Antwort

6

Was Sie wollen, ist knitr.

Die Website hat lots of examples

in Ihrem Dokument, das Sie so etwas wie

<<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='') 
@ 

tun können, oder es sogar so richten Sie Ihre

\begin{r} 

\end{r} 

Syntax funktionieren würde.

Die pdf output des minimal example, aus dem das obige Beispiel kommt

+0

Thank you! Wie kann ich das vorher nicht wissen? –

+3

Danke! Ihr seid schnell. Ich bin froh, dass ich in der Lage sein werde, mich von SO fernzuhalten und mich stattdessen auf mein Knitr-Buch zu konzentrieren :) –

5

Rstudio + knitr sind groß

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

Danke! Ich benutze RStudio. Es ist wirklich abgefahren. :) –

10

Sehen Sie, wenn Sie von der 5-min video auf knitr ‚s Homepage überzeugt werden können: http://yihui.name/knitr/ Wenn Sie sich nur für LaTeX interessieren, beginnen Sie mit 2:54.

Ihr Quellcode würde wie folgt sein:

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

Danke! Es sieht sehr ordentlich aus. –