Введение в цикл For

Условие For Loop выполняется для обеспечения возможности повторения набора до тех пор, пока не будет достигнуто требуемое условие. Цикл for очень полезен в том случае, если необходимо перебрать большой диапазон элементов или целых чисел. Цикл for может использоваться поверх фрейма данных, вектора или любого объекта. В ситуации, когда необходимо выполнять аналогичную функцию повторно, цикл for используется для уменьшения усилий и времени. Например, если требуется вывести 100 случайных чисел от 1 до 1000, мы можем использовать условие цикла for, чтобы легко добиться этого без необходимости использовать оператор print 100 раз. В этой теме мы собираемся узнать о For Loop в R.

Синтаксис цикла

Синтаксис цикла for в R похож на синтаксис языка python или любого другого языка. Ниже приведен синтаксис цикла for в R.

Синтаксис:

for (val in sequence) (
Statement
)

В приведенном выше синтаксисе вектор представлен последовательностью, а val является значением вектора во время цикла For.

Теперь давайте посмотрим процесс, выполняемый для условия цикла с помощью блок-схемы. Для каждого элемента в последовательности цикл повторяется до тех пор, пока не будет достигнуто требуемое условие. Условие проверяется, и когда последний элемент достигнут, компилятор существует в цикле.

Структура состоит из инициализации, показанной как «init», ромба, который является блоком решений, и прямоугольного блока, который является телом цикла for. При выполнении набора команд для условия цикла, компилятор не запускает цикл до тех пор, пока не будет указано условие. Если нет доступных условий, следующая инструкция после цикла будет выполнена. Для каждого элемента в последовательности выполняется условие. Пока условие не соответствует, цикл повторяется снова и снова. Как только последний элемент или условие выполнено, компилятор существует в цикле.

Как работает Loop в R?

Перед изучением того, как For Loop работает в R, давайте посмотрим, что такое цикл или цикл. Цикл или итерация, которая в основном является инструкцией для повторения, имеет давнюю историю. Проще говоря, это автоматизирует процесс путем группировки определенных требуемых функций в пакете частей. Большая часть современного языка программирования имеет встроенную функцию зацикливания, которая позволяет создавать функции для автоматизации. Циклические функции могут быть разделены на две части. Циклы, которые управляются и могут выполняться требуемое количество раз, попадающих под семейство циклов. С другой стороны, циклы, основанные на наборе условий, подпадают под семейство циклов while.

В этой статье мы рассмотрим различные методы, доступные в R для циклических операций. Далее мы рассмотрим различные циклические примеры с использованием функций, доступных в библиотеке R. При работе на языке R For циклы - это только те условия цикла, которые вам потребуются, редко могут возникнуть другие условия цикла, такие как while. Давайте посмотрим, как цикл For используется для перебора числовых значений.

# for printing number from 9 to 99 usinf for loop
> for(i in 9:99)(
+ print(i)
+ )
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15
(1) 16
(1) 17
(1) 18
(1) 19
(1) 20
(1) 21

В приведенном выше примере переменная «i» берется циклом и повторяется до тех пор, пока не будет выполнено условие. Печать переменной «i» внутри цикла дает нам значения в диапазоне от 9 до 99. Теперь давайте рассмотрим другой пример с использованием символов.

# for printing and looping items in example vector
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:4)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"
(1) "base"
# In case we don't want the entire loop to be executed
# loop can be stopped with the help of break condition
# In the below example the fourth element will not be printed.
> example <- c("cat", "dog", "bill", "base")
> for(i in 1:3)
+ (
+
+ print(example(i))
+ )
(1) "cat"
(1) "dog"
(1) "bill"

В приведенном выше примере мы распечатываем нужные элементы из примера. В первом примере четыре элемента вызываются в последовательности, следовательно, все элементы были напечатаны, когда был выполнен оператор print. Во втором примере последовательность вызывается до третьего элемента, поэтому первые три элемента печатаются.

С другой стороны, существует условие, называемое повторением цикла, которое имеет функциональность, аналогичную функции цикла. Однако условие повтора используется для непрерывного перебора кода без проверки условия.

Пользователь должен определить условие внутри цикла, а оператор «break» должен быть использован для выхода из цикла. Отказ от использования оператора «break» приведет к бесконечному циклу.

# illustrating repeat statement to print numbers from 5 to 15
> n <- 5
> repeat
+ (
+ print(n)
+ n = n+1
+ if (n == 16)(
+ break
+ )
+ )
(1) 5
(1) 6
(1) 7
(1) 8
(1) 9
(1) 10
(1) 11
(1) 12
(1) 13
(1) 14
(1) 15

В приведенном выше примере мы указали условие n == 16, чтобы компилятор останавливал цикл при достижении n == 6.

Для циклических примеров

Чтобы ввести циклы For в R, давайте возьмем пример извлечения элементов или элементов из вектора.

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'utah')
>
>
> for (str in states) (
+ print(paste("States in USA: ", str))
+ )
(1) "States in USA: Oregon"
(1) "States in USA: Florida"
(1) "States in USA: Texas"
(1) "States in USA: Lowa"
(1) "States in USA: Nebraska"
(1) "States in USA: utah"
# to illustrate the print operation outside the loop
> print("----prints outside the loop---")
(1) "----prints outside the loop---"

Шаг 1

Определен вектор названных состояний, состоящий из разных состояний

> states <- c('Oregon', 'Florida', 'Texas', 'Lowa', 'Nebraska', 'Utah')

Шаг 2

На следующем шаге цикл for используется для итерации по вектору состояний и отображения отдельного имени состояний.

> for (str in states) (
+ print(paste("States in USA: ", str))
+ )

Поскольку оператор print включен в цикл, мы получаем желаемые результаты, и все имена состояний печатаются. На следующем шаге используется другой оператор print вне цикла, который практически выполняется после завершения цикла for.

Теперь давайте рассмотрим логику каждой итерации во время выполнения кода.

  1. На первой итерации State = Oregon в векторе остаются элементы. Следовательно, оператор print выполняется компилятором внутри цикла.
  2. Во время второй итерации State = Florida в векторе осталось еще четыре элемента. Следовательно, оператор print выполняется компилятором внутри цикла.
  3. На третьей итерации State = Texas в векторе осталось еще три элемента. Следовательно, оператор print выполняется компилятором внутри цикла.
  4. На четвертой итерации State = Lowa в векторе осталось еще два элемента. Следовательно, оператор print выполняется компилятором внутри цикла.
  5. На пятой итерации State = Nebraska в векторе остается еще один элемент. Следовательно, оператор print выполняется компилятором внутри цикла.
  6. Во время шестой итерации State = Utah в векторе могут остаться элементы. Следовательно, оператор print выполняется компилятором внутри цикла.
  7. Во время седьмой итерации, поскольку больше нет элементов, которые можно назначить для переменной состояния, компилятор выйдет из цикла.

В следующем примере давайте посмотрим функциональность цикла в случае целых чисел.

> num <- c(1:5)
>
> for (i in num) (
+ print(i)
+ )
(1) 1
(1) 2
(1) 3
(1) 4
(1) 5

Шаг 1

Определен вектор с именем num, который состоит из целых чисел от 1 до 5

> num <- c(1:5)

Шаг 2

На следующем шаге цикл for используется для перебора num вектора и отображения отдельных целых чисел.

> for (i in num) (
+ print(i)
+ )

Поскольку оператор print включен в цикл, мы получаем желаемые результаты, и все целые числа из вектора num печатаются.

Теперь давайте рассмотрим логику каждой итерации во время выполнения кода.

  1. Во время первой итерации «1» в векторе остаются элементы. Следовательно, оператор print выполняется компилятором внутри цикла.
  2. Во время второй итерации «2» в векторе остается еще три элемента. Следовательно, оператор print выполняется компилятором внутри цикла.
  3. Во время третьей итерации «3» в векторе остаются еще два элемента. Следовательно, оператор print выполняется компилятором внутри цикла.
  4. Во время четвертой итерации «4» в векторе остается еще один элемент. Следовательно, оператор print выполняется компилятором внутри цикла.
  5. Во время пятой итерации «5» в векторе могут остаться элементы. Следовательно, оператор print выполняется компилятором внутри цикла.
  6. Во время шестой итерации, поскольку больше нет элементов для присваивания переменной num, компилятор выйдет из цикла.

Вывод - для цикла в R

В этой статье мы увидели, как условие цикла может быть выполнено с использованием R, R studio использовалась для выполнения вышеуказанных операций, и результаты были отображены. Мы также видели пример выделения элементов или элементов из вектора, и оценка для каждого шага была исследована в статье.

Рекомендуемые статьи

Это руководство по циклу For в R. Здесь мы обсудим, как цикл for работает в R, с соответствующими примерами и синтаксисом. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. Для цикла в Python
  2. C # для цикла
  3. Циклы в программировании на Java
  4. Петли в R
  5. Для цикла в C