我想在R中为我的脚本添加一个进度条,但我不知道在我的循环中将它放在哪里。 winProgressbar的代码位于互联网下方。我应该把这个代码放在我的循环中?
谢谢!
pb< - winProgressBar(title =“进度条”,min = 0, max = total,width = 300)
for(i in 1:total){
Sys.sleep(0.1)
setWinProgressBar(pb, i, title=paste( round(i/total*100, 0),
"% done"))
}
close(pb)
答案 0 :(得分:0)
要跟踪整个脚本或程序的进度,您只需将初始化函数(winProgressBar
)放在代码的开头,并通过setWinProgressBar
在流程中的关键点进行更新你的程序。例如,如果您的代码执行的第一个任务通常占用所需总时间的大约10%,则在该任务完成后将该值设置为10%。
您的代码可能如下所示:
your_function <- function(arg1, arg2, arg3) {
#add random stuff here like loading packages
#create your progress bar
pb <- winProgressBar(title = "progress bar", min = 0, max = 100, width = 300)
#insert part 1 of your code, let's say it takes 10% of your total processing time
setWinProgressBar(pb, 10, label = paste(round(10/total*100, 0),"% done"))
#insert part 2 of your code, let's say it takes 25% of your total processing time
setWinProgressBar(pb, 35, label = paste(round(35/total*100, 0),"% done"))
etc...
close(pb)
}
您也可以将它放在功能的外部,类似于您提供的示例。