Как показать прогресс кода в параллельных вычислениях в R?
Сейчас я имею дело с большим набором данных, и некоторые функции могут занять несколько часов. Интересно, как я могу показать прогресс кода через индикатор выполнения или число (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)
Однако, когда я запускаю код, я не вижу никакого индикатора выполнения, и результат не правильный. Есть ли какие-либо предложения? Благодарю.