Wrapper to FOR loops with progress bar

前端 未结 8 678
走了就别回头了
走了就别回头了 2021-01-31 19:57

I like to use a progress bar while running slow for loops. This could be done easily with several helpers, but I do like the tkProgressBar from tcl

8条回答
  •  一整个雨季
    2021-01-31 20:18

    R's syntax doesn't let you do exactly what you want, ie:

    forp (i in 1:10) {
        #do something
    }
    

    But what you can do is create some kind of iterator object and loop using while():

    while(nextStep(m)){sleep.milli(20)}
    

    Now you have the problem of what m is and how you make nextStep(m) have side effects on m in order to make it return FALSE at the end of your loop. I've written simple iterators that do this, as well as MCMC iterators that let you define and test for a burnin and thinning period within your loop.

    Recently at the R User conference I saw someone define a 'do' function that then worked as an operator, something like:

    do(100) %*% foo()
    

    but I'm not sure that was the exact syntax and I'm not sure how to implement it or who it was put that up... Perhaps someone else can remember!

提交回复
热议问题