Progress: рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рдЧрддрд┐ рдмрд╛рд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рджрд┐рд╕ре░ 2015  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: r-lib/progress

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рднреАрддрд░ рдХреЛрдИ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рд╣реИ ...

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдВ, рдареАрдХ рдпрд╣реАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдХреНрд░рд┐рдп рдкреНрд░рдЧрддрд┐ рд╕рд▓рд╛рдЦреЛрдВ рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдвреЗрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╣рдо рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ рдПрдХ рдХреЛ рджрд┐рдЦрд╛рдПрдВрдЧреЗ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рд╕рд╛рд░рд╛рдВрд╢ рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рддреАрди рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП:

85% | 34% | 50% [====================--------------------] ETA 13s

рдЙрдЪрд┐рдд рдПрдПрдирдПрд╕рдЖрдИ рд╕рдорд░реНрдерди рд╡рд╛рд▓реЗ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, 10-20 рддрдХ) рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдРрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

pb1 <- progress_bar$new(total = 100)
for(i in 1:100){
  pb1$tick()
  pb2 <- progress_bar$new(total = 100)  
  for(j in 1:100){
    pb2$tick()
    Sys.sleep(1/1000)
    }
}

рд╣рд╛рдВ, рдареАрдХ рдпрд╣реАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдХреНрд░рд┐рдп рдкреНрд░рдЧрддрд┐ рд╕рд▓рд╛рдЦреЛрдВ рдХрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдвреЗрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд░ рд╕реНрдЯреВрдбрд┐рдпреЛ, рд╣рдо рдХреЗрд╡рд▓ рд╢реАрд░реНрд╖ рдПрдХ рдХреЛ рджрд┐рдЦрд╛рдПрдВрдЧреЗ, рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рд╕рд╛рд░рд╛рдВрд╢ рджрд┐рдЦрд╛рдПрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рддреАрди рд╕реНрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП:

85% | 34% | 50% [====================--------------------] ETA 13s

рдЙрдЪрд┐рдд рдПрдПрдирдПрд╕рдЖрдИ рд╕рдорд░реНрдерди рд╡рд╛рд▓реЗ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, 10-20 рддрдХ) рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддрд░рд╣ рд╕реЗ рдЖрдк рдПрдХ рд▓рд╛рдЗрди рдкрд░ 3 рдпрд╛ 4 рдПрдХ рд╕рд╛рде рдкреНрд░рдЧрддрд┐ рд╕рд▓рд╛рдЦреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпреВрдирд┐рдХреЛрдб рдмреНрд░реЗрд▓ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ

[та┐та┐таЯтаЫтаЫтаЫтаТтаТтаТтаТ       ]

@jimhester рдЬреЛ рд╕реНрдорд╛рд░реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдмрд╣реБрдд рд╕реАрдорд┐рдд рднреА рд╣реИред

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдиреАрдЪреЗ рдХрд╛ рдХрд╛рд░реНрдп рдмрд╣реБрдд рдХрдЪреНрдЪрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рд╕рдВрднрд╡ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдкреНрд░рдЧрддрд┐ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдЧрддрд┐ рд╢реИрд▓реА рдкреИрдХреЗрдЬ рдореЗрдВ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

рдбреЗрдЯрд╛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдБ:

df <- data.frame(samplecol=c(1:50),
           file=c(1:50))
df$file <- paste0("file",df$file)

x <-function() {Sys.sleep(1/100)}
y <-function() {Sys.sleep(1/20)}

рд╕рдорд╛рд░реЛрд╣:

doubleProgressBar <- function(x, y) {
    for (i in 1:100) {
      x()
        for(j in 1:50){ 
          y()
          cat("\014")
          writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")), 
                      paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
        }
      cat("\014")
      writeLines(c(paste0("OVERALL PROGRESS:", i,"%"," [",paste(rep("+",round((i/5))), collapse="")), 
                   paste0("FILE%: ",(j*2),"%"," CURRENTLY LOADING FILE: ",df[j,"file"], " [",paste(rep("+",round((j/2.5))), collapse=""))))
    }
}

###Does what I want, but with crude text entry. 
###Would be nice to have a package with nice entry have a double bar
doubleProgressBar(x,y)

рдпрд╣ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдпрджрд┐ рд╕рднреА рдЖрд░ рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдиреЗ рдХрд░реНрд╕рд░ рдХреЛ рдКрдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдПрдирдПрд╕рдЖрдИ рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреБрдЫ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЯрд░реНрдорд┐рдирд▓) рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХреЗрд╡рд▓ \r рд╕рд╛рде рдЯреЗрдХреНрд╕реНрдЯ рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдкреВрд░реНрдг рдПрдПрдирдПрд╕рдЖрдИ рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдерд╛рди рдХреЛ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Spatial-R picture Spatial-R  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jennybc picture jennybc  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

HarlanH picture HarlanH  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Stophface picture Stophface  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Sarpwus picture Sarpwus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ