2012-03-23 4 views
0

私は複数のプロットをプロットしています:元の名前で複数のプロットを命名

a <- dir(pattern="stuff.*\\.txt$") 
for (i in 1:length(a)) { 
    b <- read.table(a[i]) 
    jpeg(paste("/../.../", i, ".jpg")) 
    plot(b$V1,b$V2, main=?) 
    dev.off() 
} 

私はすべてのjpg &メイン=に名前を付けたいですか?オリジナルのファイル名でこのコードのすべてのjpgには1からNまでの名前が付けられています。

答えて

3

おそらく私は何かが不足していますが、変数a[i]が元のデータファイル名です。だから、あなただけ実行する必要があります。

plot(b$V1, b$V2, main=a[i]) 

をあなたの「ペースト」機能では、デフォルトのセパレータはそう、スペースです

paste("A", "B") 

A Bを与えます。代わりに、あなたは望みます:paste( A , B , sep="")。 jpegファイルを作成するときは、データからファイル番号.txtまたは.csvを削除する必要があります。だから、のようなものは:

library(tools) 
fname = file_path_sans_ext(a[i]) 
jpeg(paste("/../.../", fname, ".jpg", sep="")) 

+0

おかげで動作するはずです!それは "main"のために働く。 jpeg(paste( "/../.../"、a [i]、 ".jpg"))ではありません。何か案は? – PoGibas

+1

@ user1286528 'collapse =" "' 'paste'引数として試してみましたか?あなたは、あなたがループに張り付く前に、最初に正しいファイル名を取得しようとすることができます。 –

関連する問題