R for循环中更详细的进度条

时间:2016-07-21 09:51:09

标签: r for-loop time progress-bar

我正在为一些循环播放进度条。

在循环之外我写了:

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的文件。数据框中的文件大小或行长度是很好的衡量标准。

1 个答案:

答案 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)

时间和扫描文件大小我还没弄清楚。