読者です 読者をやめる 読者になる 読者になる

300億円欲しい

メジャーリーグのデータ解析します

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) )  #円周率の計算


f:id:gg_hatano:20130818095016p:plain

ちゃんと伸びます.

以上です.