2013-08-23 37 views
0

我正在循環目錄中的所有文件並創建一些報告和jpeg文件。我想保存這些報告和圖片以及一個子文件夾。將輸出保存在不同的位置R

有沒有更好的方法來做到這一點沒有 setwd()來回循環?

例如:

for (j in 1:length(list.files())) 
{ 
sp=read.csv(list.files()[j]) 
#do something 
    setwd("H:\test\sub") 
    jpeg(paste(list.files()[j],'.jpg',sep="")) 
    hist(data) 
    dev.off() 
    setwd("H:\test") 
#do more 
} 

感謝

+0

怎麼樣?您必須以某種方式指定特定的目標路徑。目前您正在切換工作目錄。另一種方法是將整個路徑粘貼在一起。 – joran

+0

這是很麻煩的來回移動。肯定會減慢這個過程。作爲perl,unix用戶通常會直接指定輸出目錄。 – yatici

回答

1

是的,只需設置要保存命運的軌跡

jpeg(your_path_here, ...) 

像這樣

files = list.files() 

for(file in files){ 
    dir = paste("H:\\test\\sub\\", file, ".jpg", sep = "") 
    jpeg(dir) 
    hist(data) 
    dev.off() 
} 
相關問題