【发布时间】:2016-11-18 16:48:24
【问题描述】:
我现在正在处理一个大型数据集,某些函数可能需要数小时才能处理。我想知道如何通过进度条或数字(1,2,3,...,100)显示代码的进度。这是一个例子。谢谢。
require(Kendall)
mydata=matrix(rnorm(6000*300),ncol = 300)
result=as.data.frame(matrix(nrow = 6000,ncol = 2))
for (i in 1:6000) {
abc=MannKendall(mydata[i,])
result[i,1]=abc$tau
result[i,2]=abc$sl
}
顺便说一句,我发现链接https://ryouready.wordpress.com/2009/03/16/r-monitor-function-progress-with-a-progress-bar/ 非常有用。但是,我不知道如何将链接中的代码与我自己的函数结合起来。有人有想法吗?谢谢。这是上面链接中的代码。
total <- 20
# create progress bar
pb <- txtProgressBar(min = 0, max = total, style = 3)
for(i in 1:total){
Sys.sleep(0.1)
# update progress bar
setTxtProgressBar(pb, i)
}
close(pb)
【问题讨论】:
-
从链接中,您可以使用
pb <- txtProgressBar(min = 0, max = 6000, style = 3); for(i in seq_len(6000)) {<calculation stuff here>; setTxtProgressBar(pb, i); }; close(pb); -
@lmo 非常感谢,它有效!
标签: r progress-bar