Пакет LaTeX и R?

Я использую R для анализа статистических данных и построения гистограмм, диаграмм рассеяния и т. д.

Затем мне нужно экспортировать все графики в формате PDF, чтобы вручную включить их в отчет LaTeX.

Интересно, есть ли способ упростить этот процесс?

Я был бы рад написать что-то вроде:

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

Чтобы код между \begin{r} и \end{r} генерировал график, сохраняем его где-нибудь в формате PDF и выдаем TeX вот так:

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

person Edward Ruchevits    schedule 07.12.2012    source источник


Ответы (3)


Вам нужно knitr.

На сайте есть множество примеров

в вашем документе вы можете сделать что-то вроде

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

Или даже настроить его так, чтобы ваш

\begin{r}

\end{r}

синтаксис будет работать.

вывод в формате PDF минимальный пример, из которого взят приведенный выше пример

person mnel    schedule 07.12.2012
comment
Спасибо! Как я мог не знать об этом раньше! - person Edward Ruchevits; 07.12.2012
comment
Спасибо! Вы, ребята, быстрые. Я рад, что смогу держаться подальше от SO и вместо этого сосредоточиться на своей книге по вязанию :) - person Yihui Xie; 07.12.2012

Посмотрите, сможет ли вас убедить 5-минутный видео на главной странице knitr: http://yihui.name/knitr/ Если вас интересует только LaTeX, начните с 2:54.

Ваш исходный код будет таким:

\chapter{One}
<<plot, out.width='1\textwidth', out.height='1\textheight', fig.pos='!ht', fig.cap='your caption'>>=
    qplot(...)
@
person Yihui Xie    schedule 07.12.2012
comment
Спасибо! Выглядит очень аккуратно. - person Edward Ruchevits; 07.12.2012

Rstudio +knitr отличные

http://www.rstudio.com/ide/docs/authoring/overview
person agstudy    schedule 07.12.2012