Rで計算の進行状況を確認したい
Rでfor文を回すと遅いです.
これを, 高速化とは別の方法で解決したいです.
Rでプログレスバーの表示
待ち時間が暇だからよくないのです.
コンソールにプログレスバーを表示しましょう.
進捗状況が分かると, 精神が安定しますし.
計算の進行に応じて, こんな感じの矢印が伸びて欲しい.
|=================================| 60%>
そのためのRパッケージが見つかりました.
tcltkパッケージのtxtProgressBar関数を使います.
基本的な使い方...
# tcltk パッケージを使います # install.packages("tcltk")はエラーが出ます. library(tcltk) # プログレスバーのデザインを設定 style = 3 がイケていると思います pb <- txtProgressBar(min = 最初, max = 最後, style = 3) for (i in 最初:最後){ 処理 setTxtProgressBar(pb, i) }
txtProgressBarで設定して,
setTxtProgressBarをfor文に仕込めばいいみたいです.
実際に使ってみます.
# progress bar test library(tcltk) n <- 1000 pb <- txtProgressBar(min = 1, max = n, style = 3) pi2div6 <- 0.0 for(i in 1:n){ setTxtProgressBar(pb, i) pi2div6 <- pi2div6 + 1/ (i*i) Sys.sleep(0.01) #速いから } print( sqrt(pi2div6 * 6) ) #円周率の計算
ちゃんと伸びます.
以上です.