2014-09-04 24 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