2014-09-04 29 views
0

我在循环中绘制R中的几个图形,并使用postscript()将它们导出为后记。R:Postscript在Mac OS X上导出文件扩展名,并将mogrify合并到R中

for(i in 1:length(ind)){ 
    postscript(names(ind[i])) 
    par(mar=c(6,8,6,5)) 
    plot(ind[[i]][,c('YEAR','VALUE')], 
     type='b', 
     main=ind[[i]][1,'NAME'], 
     xlab="Time [Years]", 
     ylab="Value [mm]") 

dev.off() 
} 

这工作都正常,但当我看看没有文件扩展名(例如.PS)写到他们在Finder中的文件(我在Mac OS X 10.8.5)。由于我想用ImageMagick的mogrify进一步处理和转换输出图像,所以我依赖于文件扩展名。有没有人有解决方案?当只用postscript()绘制一个文件时,你指定了文件名和扩展名,但是如何在循环中完成?

另一个问题:是否有可能将命令行工具(如mogrify(http://www.imagemagick.org/script/mogrify.php))合并到R中,以便可以从那里执行(Windows和Mac解决方案最好)?

+1

我想'ind'不包含扩展名的文件名?粘贴一起。 '粘贴(名称(ind [i]),“.ps”,sep =“”)'。当然是 – 2014-09-04 17:42:20

+0

!没有想过这样一个简单的解决方案。谢谢!!有没有办法将命令行工具合并到R中? – kurdtc 2014-09-04 19:51:14

回答

1

您可以通过paste(names(ind[i]), ".ps", sep = "")添加扩展名。如果您要使用命令行工具,请使用shellsystem