Как и почти любой другой язык программирования, функциональный и объектно-ориентированный язык R поддерживает управляющую структуру цикла for. С циклом for в R вы можете перебирать перечисление или реализовывать циклы подсчета.
Возможное использование
Независимо от того, учитесь ли вы программировать или разрабатываете свои собственные программы в течение некоторого времени, вы, вероятно, сталкивались с циклом for.
Как и в других языках, цикл for в программировании на R используется всякий раз, когда количество итераций цикла известно заранее, и вы хотите многократно выполнять определенные блоки кода. Таким образом, цикл for является методом выбора, если, например, вы хотите реализовать в своей программе счетчик, который считает до числа пять.
Многие языки программирования, такие как B. Java также поддерживает концепцию цикла foreach, который позволяет выполнять итерацию непосредственно по массиву или списку и получать доступ к каждому элементу структуры данных. Это особенно полезно, когда вы хотите выполнить операцию со всеми элементами структуры данных. Этот вариант цикла for также поддерживается в R. Цикл foreach в R также представлен ключевым словом for.
По сути, каждый цикл for в R также можно заменить циклом while. Основным преимуществом циклов for, помимо повышения удобочитаемости, является компактность используемого кода.
Синтаксис R-For-Loop
Если вы хотите использовать цикл for в R, вы должны быть осторожны, принимая во внимание синтаксические особенности конструкции цикла.
По сути, цикл for состоит из двух основных элементов: головы цикла и тела цикла. Поскольку циклы for в R являются циклами, управляемыми головкой, головка цикла выполняется первой. Код, который вы сформулировали в теле цикла, выполняется только в том случае, если выполняется указанное там условие.
Заголовок цикла начинается с ключевого слова for. Затем в круглых скобках следует имя вашей переменной-счетчика, за которым следует ключевое слово «in». Затем вы указываете, что именно вы хотите повторить. Это может быть, например, диапазон чисел, а также список или вектор. Тело следующего цикла обозначается фигурными скобками.
Различные циклы R-For
counting loops
Как и циклы for в Python, циклы for в R в основном работают с диапазоном чисел. Итак, если вы хотите вывести на экран все числа от 1 до 10, соответствующий цикл R-For выглядит следующим образом:
for (x in 10:1) { print(x) }
В приведенном выше примере кода вы можете видеть, что переменная x вводится в заголовке цикла R-For-Loop. Ключевое слово «in» указывает, что эта переменная должна находиться в диапазоне значений от 1 до 10. R автоматически увеличивается целыми шагами. Обратите внимание, что число, заданное вторым, включено, в отличие от функции диапазона Python.
Вы также можете начать обратный отсчет с числа, используя счетную петлю. Для этого просто поменяйте местами два предела в заголовке цикла и сначала назовите большее число. Опять же, R будет автоматически уменьшаться для вас:
cars <- list("limousine", "cabrio", "suv") for (x in cars) { print (x) }
Ваша программа выведет на экран все целые числа, начиная с 10 и заканчивая 1.
foreach loops
Хотя в R нет встроенного ключевого слова foreach-loop, вы все же можете использовать логику цикла foreach в языке программирования. Эти циклы также представлены в R с ключевым словом for:
cars <- list("limousine", "cabrio", "suv")
for (x in cars) {
print (x)
}
Здесь вы увидите список под названием автомобили, в котором были сохранены разные типы автомобилей. Последующий R-For-Loop перебирает каждый элемент из этого списка и выводит его на экран. Имя элемента, который вы хотите перебрать ( автомобили в нашем случае ), также указывается после ключевого слова in.
Отмена цикла R-For — ключевое слово «break»
Например, если вы хотите найти определенный элемент в списке, может быть полезно остановить цикл for после того, как вы нашли элемент. Это избавляет вас от ненужных циклов во многих случаях, и ваша программа требует меньше вычислительной мощности. Для этого в R включено ключевое слово «break» :
cars <- list("limousine", "cabrio", "suv", "supersport", "oldtimer") for (x in cars) { print (x) if (x == "suv") { break } }
В приведенном выше примере кода мы расширили наш список с именем cars. Тем не менее, мы хотели бы остановить отображение типов автомобилей на экране, как только мы нашли тип автомобиля SUV. Для этого в условии R-If-else используется уже упомянутое ключевое слово «break».
Пропустить итерации цикла R-For-Loops — ключевое слово «следующее»
В некоторых случаях может быть полезно пропустить определенные итерации цикла вместо прямой остановки всего выполнения цикла for. В языке программирования R также есть подходящее ключевое слово «далее»:
cars <- list("limousine", "cabrio", "suv", "supersport", "oldtimer") for (x in cars) { if (x == "suv") { next } print(x) }
Приведенный выше пример кода теперь изменен для вывода всех типов автомобилей из списка, кроме внедорожника. Опять же, используется условие if, которое проверяет, является ли текущий элемент списка внедорожником. Если это так, оставшиеся операторы в теле цикла пропускаются, и выполнение цикла R-For-Loop продолжается.








