假设我有一个包含for
循环部分的功能。例如,此for
循环适用于10
迭代。我如何从结果中得知该函数现在在级别(迭代)编号下工作,例如5
。
也就是说,我希望函数让我知道当前的迭代次数。
例如,我希望结果是这样的:
Iteration 1 starts
some result
iteration 1 ends
iteration 2 starts
some result
iteration 2 ends
……
请注意,这不是我的原始功能。在我的原始函数中,我optim
在一系列模型上使用函数,我真的需要知道什么是当前模型。
这是一个一般示例:
Myfun <- function(x,y){
v <- list()
for(i in 1:100){
v[[i]] <- sum(x[[i]], y[[i]])
cat(v, "\n")
}
v
}
x <- rnorm(100)
y <- rnorm(100)
Myfun(x=x, y=y)
在循环内输出当前迭代步骤for
。
Myfun <- function(x,y) {
v <- list()
for (i in 1:100) {
v[[i]] <- sum(x[[i]], y[[i]])
cat(sprintf("Step %i / 100 done\n", i))
}
v
}
使用进度条(?txtProgressBar
有关详细信息,请参阅)。
Myfun <- function(x,y) {
v <- list()
pb <- txtProgressBar(min = 0, max = 100, style = 3)
for (i in 1:100) {
v[[i]] <- sum(x[[i]], y[[i]])
setTxtProgressBar(pb, i)
}
close(pb)
v
}
请注意,cat(v, "\n")
原稿上的那一行Myfun
会出现错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句