我正在为一些循环播放进度条。
在循环之外我写了:
total = length(df$x)
pb <- winProgressBar(title = "Progress Bar", min = 0, max =total , width = 300)
然后在关闭循环之前我有:
setWinProgressBar(pb, i, title=paste( round(which(df$x== i)/total*100, 0),"% done"))
这给了我一个更新%的进度条。但是酒吧根本没有填满。我想要酒吧空间填充(如果我们有选择,最好是蓝色)。我需要添加什么?我还想添加一个剩余时间元素,就像在pbapply中一样。
另一个更复杂的注意事项,当然一个不足之处是每个我的大小/长度可能不相等,因此理论上的进度条并没有告诉你关于时间的所有信息。服用。
有没有办法在我的循环中构建,以便我们首先扫描所有i然后进度条在该分布上工作而不是假设它是统一的?在我使用的循环中,每个i都是一个转换为data.frame的文件。数据框中的文件大小或行长度是很好的衡量标准。
答案 0 :(得分:0)
自学答案让酒吧填补。循环读取文件的示例:
df <- data.frame(x=(list.files("new/")))
total = length(df$x)
pb <- winProgressBar(title = "Progress Bar", label="0% done", min = 0, max =total , width = 300, initial=0)
for(i in df$x){
u <- fread(paste0("Z:/sec/new/",i))
setWinProgressBar(pb, which(df$x== i),label=paste( round(which(df$x== i)/total*100, 0),"% done"))
}
close(pb)
时间和扫描文件大小我还没弄清楚。