パラメータ等を変えて繰り返し計算をした結果を、それぞれ異なるファイルに出力したい時があります。sprintf()やpaste()を用いて規則的なファイル名を自動的に生成し、出力することができます。
for(i in 1:10){ a <- runif(10, min = 0, max = 5) write.table(a, file = paste("data_",sprintf("%02d",i),".txt",sep ="")) }
paste()は , (カンマ)で区切られた文字列の要素を結合します。引数sepは結合される要素の間にはさむ文字を指定します。デフォルトでは半角スペースになっていますが、上では空白なしを指定しています。
sprintf()は文字列の書式を指定することができる関数です。ここでは桁数を2桁に揃える “%02d”という書式指定を用いて、「1,2,…,10」という1桁もしくは2桁の数字を「01,02,…,10」というように2桁の数字に揃えています。もちろん他にも様々な書式指定ができます。