は最後の1は、リアルタイムで印刷し、このようにそれを試すん:私にとっては無用であるループが終了した後、これらの印刷はすべて、それぞれが
for(i in 1:10){
Sys.sleep(0.1)
print(i)
}
これはRstudioで正常に見えますクラシックのRguiでは、リフレッシュするためにコンソールをクリックする必要があります(たとえば、睡眠を増やすには、Sys.sleep(0.5)
が表示されます)。
for(i in 1:10){
Sys.sleep(0.1)
print(i)
flush.console()
}
またはWindowsで使用すると、上部のツールバーにあるMisc
を選択し、buffered output
のチェックを外すことができます:あなたは、バッファをクリアしたflush.console
を使用していることを回避することができます。あなたの目標はあなたのループの過程を追跡することがある場合は、多数の反復を介して実行されているとき
は、上記の方法は、(少なくとも私の目に)ビットakward感じています。その場合、プログレスバーを使用してよりよいかもしれません:
n<- 1000
pb <- txtProgressBar(min = 0, max = n, style = 3) #text based bar
for(i in 1:n){
Sys.sleep(0.001)
setTxtProgressBar(pb, i)
}
close(pb)
、あるいはよりよい何か:
library(tcltk)
n<- 1000
pb <- tkProgressBar(title = "Doing something", min = 0, max = n, width = 200)
for(i in 1:n){
Sys.sleep(0.001)
setTkProgressBar(pb, i, label=paste(round(i/n*100,1),"% done"))
}
close(pb)
実際の例を作成するとよいでしょう。物事をクリアしていただきありがとうございます。 – Eric
エリック、私の更新された答えを確認し、私はあなたに良い進歩の棒を作る機能の例を追加しました。 –