R基于给定秒数的进度条

R基于给定秒数的进度条,r,progress-bar,R,Progress Bar,我正在创建一个供不同用户使用的函数。由于函数很长,我想根据秒数(我估计)创建一个进度条,以便让用户相信代码正在工作。我的建议(基于stakoverflow上的答案)。问题是我不知道如何将这个“200000”转换成秒。有什么帮助吗 library(progress) total <- 200000 # create progress bar pb <- txtProgressBar(min = 0, max = total, style = 3) for(i in

我正在创建一个供不同用户使用的函数。由于函数很长,我想根据秒数(我估计)创建一个进度条,以便让用户相信代码正在工作。我的建议(基于stakoverflow上的答案)。问题是我不知道如何将这个“200000”转换成秒。有什么帮助吗

library(progress)


  total <- 200000
  # create progress bar
  pb <- txtProgressBar(min = 0, max = total, style = 3)
  for(i in 1:total){
    # update progress bar
    setTxtProgressBar(pb, i)
  }
  close(pb)
库(进度)

总大概是这样的吧?如果希望该条每秒只更新一次,只需删除Sys.sleep()中的*2(两处)并将.5替换为1即可


start\u pb这里有另一个选项,使用
Sys.sleep
。这将持续7秒

库(进度)

secs认为你得到的两个答案就是你想要的。我想补充一点,
progressbar()
似乎比utils()中的
txtProgressBar()
要快。但是这个实现不是有点违背了进度条的目的吗,我的意思是它是在跟踪时间,而不是进度。
start_pb <- function(secs) {
  # create progress bar
  pb <- txtProgressBar(min = 0, max = secs*2, style = 3)
  for(i in 1:(secs*2)) {
    # update progress bar
    Sys.sleep(.5)
    setTxtProgressBar(pb, i)
  }
  close(pb)
}

start_pb(20)