ほくそ笑む

R言語と統計解析について

Rで簡易プログレスバー

小ネタです。
R でデータフォルダ全体のファイルを処理するときとかに、プログレスバー欲しいなーと思ってて、簡易的なやり方を思いついたのでメモしときます。

data.dir <- "data"            # データディレクトリ
files <- list.files(data.dir) # ファイル名を取得
setwd(data.dir)               # データディレクトリに移動

# プログレスバー文字列を作成
progress.bar <- paste(rep("-", length(files)), collapse="")

for(filename in files) {                     # すべてのファイルに対して処理を行う
  cat(progress.bar, filename, "\n")          # プログレスバーの表示
  progress.bar <- substring(progress.bar, 2) # プログレスバーを進める

  data <- read.table(filename)
  # なんらかの処理
}

結果例:

------ hoge.txt
----- fuga.txt
---- piyo.txt
--- foo.txt
-- bar.txt
- baz.txt

普通のプログレスバーと違ってだんだん減っていくんですが、経過を見るという目的は達成できるのでいいかなーと。
もっと良いやり方があったら教えてください。


以上です。