【发布时间】:2016-11-18 19:32:20
【问题描述】:
我现在正在处理一个大型数据集,某些函数可能需要数小时才能处理。我想知道如何通过进度条或数字(1,2,3,...,100)显示代码的进度。我想将结果存储为具有两列的数据框。这是一个例子。谢谢。
require(foreach)
require(doParallel)
require(Kendall)
cores=detectCores()
cl <- makeCluster(cores-1)
registerDoParallel(cl)
mydata=matrix(rnorm(8000*500),ncol = 500)
result=as.data.frame(matrix(nrow = 8000,ncol = 2))
pb <- txtProgressBar(min = 1, max = 8000, style = 3)
foreach(i=1:8000,.packages = "Kendall",.combine = rbind) %dopar%
{
abc=MannKendall(mydata[i,])
result[i,1]=abc$tau
result[i,2]=abc$sl
setTxtProgressBar(pb, i)
}
close(pb)
stopCluster(cl)
但是,当我运行代码时,我没有看到任何进度条出现并且结果不正确。有什么建议吗?谢谢。
【问题讨论】:
标签: r parallel-processing progress-bar