Я хочу установить цикл для запуска от 1 до 10. Затем изнутри цикла я хочу изменить индекс, чтобы пропустить итерации 6 и 7 и завершить цикл с помощью итераций 8, 9 и 10.R: Установить индекс цикла из цикла
for (i in 1:10) {
print(i)
if (i == 5) {
i <- 8
print(i)
}
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 5
[1] 8
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
Очевидно, i
после моей линии 1 <- 8
задается функцией for
до 6. есть ли способ, чтобы предотвратить это?
'r' позволяет использовать переменный дважды в этом случае и корректирует необычный стиль программирования. Переменная цикла остается неизменной из-за изменения 'i' в цикле. Переменная, определенная внутри цикла, эффективно сохраняется как отдельная переменная. – RHertel
Почему бы не перебрать только переменные, с которыми вы хотите что-то сделать? Или используйте условие 'if (i satisifies condition) {do something}'? – Heroka
Возможный дубликат [this] (http://stackoverflow.com/questions/32076971/r-for-loop-skip-to-next-iteration-ifelse) – akrun