Создание и сохранение PDF-файлов в цикле - PullRequest
1 голос
/ 17 марта 2012

У меня есть полурасплавленный фрейм данных, который выглядит следующим образом:

head(final_melt)

   Group       Source variable   value
 Control Whole Kidney     MZF1 0.23879
 Control Whole Kidney     MZF1 0.49381
 Control Whole Kidney     MZF1 0.40827
 Control Whole Kidney     MZF1 0.55548
 Control Whole Kidney     MZF1 0.34664
 Control Whole Kidney     MZF1 0.68102

Группа имеет два уровня (контроль и заболевание), источник имеет 4 уровня (целая почка, клубочковый, Tubulointerstitium и HK2 + TGF-B).Переменная также имеет четыре уровня (TFAP2A, MZF1, YY1, SP1).Я хотел бы сделать что-то вроде следующего в цикле

d = subset(final_melt, final_melt$Source=="Whole Kidney")
qplot(data=d, Group, value, facets=.~variable, geom="boxplot")
pdf("Whole Kideny.pdf")
dev.off()

Хотя я знаю, что могу просто сказать facets=Source~variable, отдельные сюжеты оказываются слишком маленькими, чтобы быть информативными.Поэтому мне нужно рисовать один уровень фактора источника за один раз.
Проблема в том, что я даже не могу заставить работать функцию pdf().Он создает файл с правильным именем, но когда я пытаюсь открыть его, Adobe говорит, что при открытии файла произошла ошибка, и он уже открыт в другом приложении (почему я добавил dev.off(), но это не таккажется, что-то делают).

Любая помощь приветствуется.
Ура, Дэви.

Ответы [ 2 ]

4 голосов
/ 17 марта 2012
  1. Открытие графического устройства (pdf(), png() и т.*
  2. Звоните dev.off().
  3. .....?
  4. Прибыль.

В таком порядке.

3 голосов
/ 17 марта 2012

В качестве альтернативы ответу Джорана только для графики ggplot2:

  1. Создайте и распечатайте свою графику ggplot.
  2. ggsave(filename="Whole Kidney.pdf")

ggsave скопирует последний напечатанный рисунок. Или это может сохранить определенный сюжет.

  1. Создайте свой график ggplot и присвойте его p
  2. ggsave(filename="Whole Kidney.pdf", p)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...