R 向函数添加进度条
我已经看了几个问题,但找不到一个不使用循环的解决方案。我看了又看。 现在,我如何添加与此功能同时工作的进度条:R 向函数添加进度条,r,function,progress-bar,R,Function,Progress Bar,我已经看了几个问题,但找不到一个不使用循环的解决方案。我看了又看。 现在,我如何添加与此功能同时工作的进度条: prog<-function(){ print("This is a test") Sys.sleep(05) setTxtProgressBar() } 谢谢。有一个包pbapply,它为应用函数提供了一个进度条,使用: pblapply(X, FUN, ..., cl = NULL) 它的工作原理与普通的apply-功能类似 此函数:pblappy(1:10,
prog<-function(){
print("This is a test")
Sys.sleep(05)
setTxtProgressBar()
}
谢谢。有一个包
pbapply
,它为应用函数提供了一个进度条,使用:
pblapply(X, FUN, ..., cl = NULL)
它的工作原理与普通的apply
-功能类似
此函数:pblappy(1:10,函数(x){Sys.sleep(02);print(x)})
给出了以下输出:
| | 0 % ~calculating [1] 1
|+++++ | 10% ~18s [1] 2
|++++++++++ | 20% ~16s [1] 3
|+++++++++++++++ | 30% ~14s [1] 4
|++++++++++++++++++++ | 40% ~12s [1] 5
|+++++++++++++++++++++++++ | 50% ~10s [1] 6
|++++++++++++++++++++++++++++++ | 60% ~08s [1] 7
|+++++++++++++++++++++++++++++++++++ | 70% ~06s [1] 8
|++++++++++++++++++++++++++++++++++++++++ | 80% ~04s [1] 9
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s [1] 10
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 20s
相当整洁。我不知道它是否有用,但值得一看。进度条的问题是,您必须以某种方式跟踪进度,这对于for循环来说很容易(如果每个步骤占用的时间大致相同)。Imho prog应该是低的,因为它将系统设置为睡眠0.5秒,并且如果不给出另一个y参数,它会执行202次。啊,更改Sys.sleep部分似乎可以节省一些时间。谢谢您看过
pbapply
-包了吗(但不确定它是否可以用于您的用例)…我将进一步探讨该包。乍一看,它似乎和我在问题的编辑部分所做的一样。不过,我会花更多的时间来看看它是如何工作的,虽然老实说这不是我打算做的,但这只是一个开始。
| | 0 % ~calculating [1] 1
|+++++ | 10% ~18s [1] 2
|++++++++++ | 20% ~16s [1] 3
|+++++++++++++++ | 30% ~14s [1] 4
|++++++++++++++++++++ | 40% ~12s [1] 5
|+++++++++++++++++++++++++ | 50% ~10s [1] 6
|++++++++++++++++++++++++++++++ | 60% ~08s [1] 7
|+++++++++++++++++++++++++++++++++++ | 70% ~06s [1] 8
|++++++++++++++++++++++++++++++++++++++++ | 80% ~04s [1] 9
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~02s [1] 10
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed = 20s