Я использую Sweave и LaTex для создания отчетов из вывода R и графиков. Но иногда требуется иметь графики в редактируемом формате. Я попробовал пакет R2wd
, но с ggplot2
он не кажется очень гибким. Я был бы очень признателен, если бы кто-нибудь указал мне несколько эффективных способов. Спасибо
Перенаправление вывода и графиков R
Ответы (2)
Это действительно зависит от того, что вы подразумеваете под «редактируемым» и о каких файлах/конечных точках вы говорите. Существует множество дискуссий (например, это R- ветку помощи от 2006 года) о (1) лучших вариантах создания рисунков для встраивания в Word (или PowerPoint, что в значительной степени является тем же вопросом) и (2) лучших вариантах рисунков, которые можно редактировать (путем что я имею в виду, что они могут быть изменены пользователями, не являющимися пользователями R, а не просто перемещены из файла в файл). Общие выводы, которые я увидел, таковы:
- PDF-файлы: векторный формат, редактируемый в Adobe Illustrator ($$$), встраивается только в документы MS Office
- Метафайлы Windows или расширенные метафайлы (WMF/EMF): векторный формат, очень ограниченная поддержка за пределами платформы Windows. Несколько шаткий формат, но родной для MS Office. Конечно, будет ограниченная поддержка таких вещей, как альфа-каналы (прозрачность).
- SVG: векторный формат. Очень современный, редактируемый в Inkscape (не знаю, где еще), не особенно совместимый с MS Office (я думаю). (Создается как минимум с помощью пакета
Cairo
.) - PNG: растровый формат, но очень компактный (вы можете сделать разрешение абсурдно большим и при этом иметь достаточно маленький выходной файл); вероятно, самое простое / решение с наименьшим общим знаменателем, если вам нужна только переносимость, а не редактируемость.
Начиная с R 2.13.0, Sweave может автоматически генерировать файлы PDF и PNG на лету для каждого фрагмента фигуры. Если это сохранено как документ foo.Rnw
:
\documentclass{article}
\begin{document}
\SweaveOpts{png=TRUE,pdf=TRUE,eps=FALSE}
<<fig1,fig=TRUE>>=
plot(1:5,1:5,col=1:5,pch=16)
@
\end{document}
... то после Sweave
ing ваш каталог будет содержать файлы foo-fig1.png
и foo-fig1.pdf
. Я не знаю, отвечает ли это на ваш вопрос, но ваш вопрос не совсем ясен...
Пакет pgfSweave
связывает вместе Sweave с tikzDevice
. tikzDevice использует пакет LaTeX tikz, чтобы поместить инструкции по рисованию графика в код LaTeX. Таким образом, вы можете скопировать полученный код из одного файла в другой. pgfSweave
также добавляет некоторые удобные функции, такие как кеширование.
Вы также можете просто вывести PDF-файлы своих графиков с помощью pdf()
, а затем вставить код LaTeX, чтобы загрузить эти графики в виде рисунков. Тем не менее, вы теряете автоматизированное управление файлами Sweave.