LoginSignup
5
5

Rでの計算の進捗確認(progress bar)

Last updated at Posted at 2024-03-15

時間のかかる計算をするとき、きちんと動いているのか、あとどれくらい時間がかかるのか、確認したくなります。
自分はそんな時、以下のような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)
}

コードの内容

  1. forループの繰り返し数を決める
  2. プログレスバーの下限(min)・上限(max)・スタイル(style)・進捗を表示する記号(char)を指定する
    • forループ全体が終わるときに進捗100%となるように、maxには繰り返し数n.repを、minには最小の1を指定している
    • styleは何種類かあるが、1, 2だとcharで指定した記号(上の場合は=)が
      ====================          
      とコンソール画面の幅いっぱいに伸びる形で進捗が示される。3を指定すると、
      |===               | 10%
      のように進捗状況をパーセントでも表示してくれるのでわかりやすい。
  3. forループで繰り返し計算を行う
  4. ループを一周するたびに、progress barを現在のiの値の位置まで伸ばす
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5