繁体   English   中英

R,如何在循环本身内增加 for 循环限制?

[英]R, how to increment the a for loop limit within the loop itself?

我在 R 中工作,我试图在循环本身内更改 for 循环的限制,但我无法成功。

这是我的玩具和平代码:

setwd(".")
options(stringsAsFactors = FALSE)
cat("\014")
set.seed(11)


execution_limit <- 10

for(exe_i in 1:execution_limit)
{
    cat("(exe_i = ", exe_i," / ", execution_limit,  ")\n", sep="")
    Sys.sleep(0.1)

    if(exe_i == 7) {
            execution_limit <- 15
    }
}

打印输出:

(exe_i = 1 / 10)
(exe_i = 2 / 10)
(exe_i = 3 / 10)
(exe_i = 4 / 10)
(exe_i = 5 / 10)
(exe_i = 6 / 10)
(exe_i = 7 / 10)
(exe_i = 8 / 15)
(exe_i = 9 / 15)
(exe_i = 10 / 15)

循环在 10 次迭代后停止,但我想一直持续到第 15 次迭代。 我怎样才能做到这一点?

谢谢

你可以像这样使用while循环(注意你必须自己增加exe_i

execution_limit <- 10
exe_i <- 1
while(exe_i <= execution_limit)
{
    cat("(exe_i = ", exe_i," / ", execution_limit,  ")\n", sep="")
    Sys.sleep(0.1)

    if(exe_i == 7) {
            execution_limit <- 15
    }
    exe_i <- exe_i + 1
}

# (exe_i = 1 / 10)
# (exe_i = 2 / 10)
# (exe_i = 3 / 10)
# (exe_i = 4 / 10)
# (exe_i = 5 / 10)
# (exe_i = 6 / 10)
# (exe_i = 7 / 10)
# (exe_i = 8 / 15)
# (exe_i = 9 / 15)
# (exe_i = 10 / 15)
# (exe_i = 11 / 15)
# (exe_i = 12 / 15)
# (exe_i = 13 / 15)
# (exe_i = 14 / 15)
# (exe_i = 15 / 15)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM