R:在循环中创建输出文件(png)

时间:2014-09-08 00:12:34

标签: r loops png

我正在尝试创建多个图并将每个图保存为具有特定名称的png文件。我创建了一个在循环中调用的函数,该循环遍历不同环境名称的列表。我希望文件名与环境名称相同。但是,在运行脚本时,没有创建任何文件,我找不到问题。

myDF.2 = ddply(myDF, .(ENVIRONMENT, FILENAME), summarize, MGC= mean(T, na.rm=TRUE) )

PLOT_ENVIRONMENTS = function(labelname)
{
   png(filename = paste('/blah/blah/path/', labelname, '.png', sep=''))
   meanDFF = myDF.2[(myDF.2$ENVIRONMENT==labelname), ]
   g <- ggplot(meanDFF, aes(FILENAME, MGC))
   g <- g + labs(title=labelname)
   g <- g + ylim(c(10, 90)) + theme(axis.text = NULL)
   g + geom_point(aes(colour=factor(FILENAME))) + theme(axis.text.x=element_text(angle=90, hjust=1))
   dev.off()
}

environments = unique(unlist(myDF$ENVIRONMENT, use.names = FALSE))
for (i in environments)
{
   PLOT_ENVIRONMENTS(i)
}

我知道下面的代码有效,但由于我有~30个环境变量,我正在寻找更精简的东西。

png(filename='/blah/blah/path/Microbialites.png')
PLOT_ENVIRONMENTS('Microbialites')
dev.off()
png(filename='/blah/blah/path/Water_Marine.png')
PLOT_ENVIRONMENTS('Water_Marine')
dev.off()

建议表示赞赏。

0 个答案:

没有答案