時間のかかる計算をするとき、きちんと動いているのか、あとどれくらい時間がかかるのか、確認したくなります。
自分はそんな時、以下のようなprogress barを表示させることで進捗を表示するようにしています。
|======================== | 60%
よく使う割にはいつもコードの書き方を忘れて調べなおしているので、備忘録として残しておきます。なおここに記す方法は、for
文などを用いた繰り返し計算の進捗確認方法です。
コード
# 1
n.rep <- 100000
# 2
pb <- txtProgressBar(min = 1, max = n.rep, style = 3, char = "=")
# 3
for(i in 1:n.rep){
# calculation
# 4
setTxtProgressBar(pb, i)
}
コードの内容
-
for
ループの繰り返し数を決める - プログレスバーの下限(
min
)・上限(max
)・スタイル(style
)・進捗を表示する記号(char
)を指定する-
for
ループ全体が終わるときに進捗100%となるように、maxには繰り返し数n.rep
を、minには最小の1を指定している -
style
は何種類かあるが、1, 2だとchar
で指定した記号(上の場合は=
)が
====================
とコンソール画面の幅いっぱいに伸びる形で進捗が示される。3を指定すると、
|=== | 10%
のように進捗状況をパーセントでも表示してくれるのでわかりやすい。
-
-
for
ループで繰り返し計算を行う - ループを一周するたびに、progress barを現在の
i
の値の位置まで伸ばす