要在使用parLapply函数时模拟监控,可以使用pbapply包中的pblapply函数。下面是一个示例代码:
library(parallel)
library(pbapply)
# 设置并行集群
cl <- makeCluster(4)
# 创建一个进度条
pb <- pbapply::pbtxt(n = 10)
# 使用pblapply函数代替parLapply函数,同时使用pbapply::pboptions设置进度条
results <- pbapply::pblapply(cl, 1:10, function(x) {
# 在循环中更新进度条
pbapply::pbtxt(pb, label = paste("Processing", x))
# 模拟一些计算
Sys.sleep(1)
# 返回结果
x^2
})
# 关闭进度条
pbapply::pbtxt(pb, label = "Done")
# 关闭并行集群
stopCluster(cl)
# 打印结果
print(results)
在上面的代码中,首先使用makeCluster函数设置一个包含4个工作进程的并行集群。然后,创建一个进度条pb,使用pblapply函数代替parLapply函数。在循环中,使用pbapply::pbtxt函数更新进度条,并使用Sys.sleep函数模拟一些计算。最后,关闭进度条和并行集群,打印结果。
请注意,为了使用pbapply包中的pblapply函数,您需要在代码中导入pbapply库。