R, как увеличить a для предела l oop внутри самого l oop? - PullRequest
0 голосов
/ 04 февраля 2020

Я работаю в R и пытаюсь изменить предел a для l oop внутри самого l oop, но у меня ничего не получается.

Вот мой игрушечный код:

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)

l oop останавливается после 10 итераций, но я хотел бы включить go до 15-й итерации. Как я могу это сделать?

Спасибо

1 Ответ

1 голос
/ 04 февраля 2020

Вы можете использовать while l oop вот так (обратите внимание, что вы должны увеличить 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)
...