我最近吃了一种在for循环中实现进度条的方法。 (参考参考) 实施可以是:
size = 200
pb <- winProgressBar(title="Progress Bar", label="0% done", min=0, max=100, initial=0)
for(i in 1:size){
Sys.sleep(0.1)
# Progress Bar
info <- sprintf("%d%% done", round((i/size)*100))
setWinProgressBar(pb, i/size*100, label=info)
}
close(pb)
为了避免在循环开始时使用大小,我怎么能有一个变量来检测循环迭代器的总长度。这样代码就是:
pb <- winProgressBar(title="Progress Bar", label="0% done", min=0, max=100, initial=0)
for(i in 1:200){
Sys.sleep(0.1)
# Progress Bar
size = ... # What to do ?
info <- sprintf("%d%% done", round((i/size)*100))
setWinProgressBar(pb, i/size*100, label=info)
}
close(pb)
我知道它会在for循环中添加微积分,这样可以很容易地在几个循环中实现,而不必改变它们的结构。
谢谢!
罗曼