Вопрос:

Удаление в цикле for некоторых я, что цикл for должен пройти

r for-loop if-statement

22 просмотра

1 ответ

11 Репутация автора

Я хотел бы использовать оператор if внутри цикла for, повторяющийся над i, так что оператор if удаляет некоторые i, которые цикл должен завершить. Итак, что-то похожее на это:

iterations <- c(1,2,3,4)
for(i in iterations) { ## i will go from 1 to 4
  if(bla bla bla) {
    d <- bla bla bla ## say, d=4 when i=1
    iterations <- iterations[-d] ## i will now go from 1 to 3
   }
 }

Я не думаю, что этот код работает, хотя.

Спасибо!

Автор: Max Источник Размещён: 08.11.2017 10:40

Ответы (1)


3 плюса

38336 Репутация автора

Вы можете сохранить список чисел, чтобы пропустить, добавить к нему при необходимости, а затем пропустить это iс помощью next:

iterations <- c(1,2,3,4)
# Empty list of numbers to skip
skips <- numeric(0)
for(i in iterations) { ## i will go from 1 to 4
    if (i %in% skips) {
        next
    }
    if(i == 1) {
        d <- 4
        skips <- c(skips, d)
    }
    print(i)
}
Автор: Marius Размещён: 08.11.2017 10:43
Вопросы из категории :
32x32