Цикл в R для создания и сохранения серии графиков ggplot2 с указанными именами - PullRequest
3 голосов
/ 07 июля 2010

У меня есть фрейм данных в R с переменной POSIXct sessionstarttime. Каждая строка идентифицируется переменной целочисленного идентификатора указанного местоположения. Количество рядов отличается для каждого местоположения. Я строю общий график просто:

myplot <- ggplot(bigMAC, aes(x = sessionstarttime)) + geom_freqpoly()

Можно ли создать цикл, который будет создавать и сохранять такой график для каждого местоположения отдельно?
Желательно, чтобы имя файла совпадало со значением переменной ID?
И желательно с одинаковой шкалой времени для каждого сюжета?

Ответы [ 2 ]

8 голосов
/ 07 июля 2010

Не совсем уверен, что вы спрашиваете, но вы можете сделать одну из двух вещей.

a) Вы можете сохранить каждый отдельный график в цикле с уникальным именем на основе идентификатора, например, так:

ggsave(myplot,filename=paste("myplot",ID,".png",sep="")) # ID will be the unique identifier. and change the extension from .png to whatever you like (eps, pdf etc).

b) Просто назначьте каждый график элементу списка.Затем запишите этот список на диск, используя save. Это упростит загрузку и доступ к любому отдельному графику в более позднее время.

1 голос
/ 07 июля 2010

Я не уверен, что получу то, что вы хотите сделать.Из того, что я предполагаю, я предлагаю написать простую функцию, которая сохраняет сюжет.и затем используйте lapply (yourdata, yourfunction, ...).Поскольку lapply может использоваться для списков, необязательно, чтобы количество строк было одинаковым.

HTH

используйте что-то подобное в своей функции:

    ggsave(filename,scale=1.5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...