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

Циклы — это базовая структура в программировании, которая берет блок кода и многократно запускает его. Циклы for — это один из типов циклов, которые есть почти во всех языках. Циклы R for являются неотъемлемой частью анализа данных.

Они служат множеству целей, от форматирования вывода до выполнения вычислений на больших наборах данных. Использование циклов for в R упрощает анализ данных.

R’s Basic for Loop

Функционал цикла for в языке R аналогичен стандартному. для циклов, найденных в Go и большинство других языков программирования. Учитывая начальную точку, он будет запускать содержащийся в нем код заданное количество раз.

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

Фиксированные итерационные циклы

Фиксированные итерационные циклы в R имеют следующую форму:

instagram viewer
для (Икс в1:10) {
распечатать (х)
}

X в цикле — это переменная, в которой будет храниться итерация цикла.

После ключевого слова «in» указаны начальная и конечная точки цикла. Цикл запустит свой итератор с первого числа.

После каждого запуска кода в цикле он проверяет, равен ли итератор числу после двоеточия.

Если это так, выполнение кода продолжится после завершения цикла. Если это не так, итератор увеличится на 1, и снова запустится блок кода в скобках.

Циклы for для массивов, списков и векторов

Как цикл по словарю в Python, вы можете перебирать соответствующие структуры данных в R, используя цикл for. Вы можете использовать любую итерируемую структуру данных после ключевого слова «in» вместо фиксированной начальной и конечной точек.

Такой цикл изменит поведение кода. Здесь цикл будет работать как цикл foreach в таких языках, как C#:

сотрудники "Бен", "Джейн", "Сьюзи", "Джош", "Кэрол")

для (Икс в сотрудники) {
распечатать (х)
}

Теперь, вместо того, чтобы x удерживать текущую итерацию цикла, он будет содержать объект из массива или списка, в котором в данный момент находится цикл. После завершения каждого цикла, если в списке, массиве или векторе есть еще элементы, x будет установлен на следующий элемент. Если элементов больше нет, то выполнение продолжится с кодом после цикла.

Примитивная функция c и циклы for

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

Вы можете упростить приведенный выше пример, используя этот метод:

для (Икс в с("Бен", "Джейн", "Сьюзи", "Джош", "Кэрол")) {
распечатать (х)
}

Обратите внимание, что вывод такой же, как и раньше:

Заявления R о прыжках

Два оператора позволяют пропустить итерации цикла: break и next. Они достигают этого разными способами. Вы должны убедиться, что знаете разницу между ними.

Ключевое слово перерыва

Когда цикл встречает внутри себя оператор break, он немедленно закрывает цикл. Так как программа выходит из цикла, как только она натыкается на ключевое слово break, она больше не будет запускать какой-либо оставшийся код:

дней "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота",
"Воскресенье")

для (Икс в дней) {
если (х == "Суббота") {
перерыв
}

распечатать (х)
}

Приведенный выше цикл распечатает все будние дни, но не выходные дни.

Следующее ключевое слово

Ключевое слово next также пропускает итерацию, но, в отличие от break, next не закрывает цикл сразу. Цикл остается открытым означает, что любой дополнительный код в текущем цикле не будет выполняться, но следующая итерация продолжится, как и планировалось:

дней "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота",
"Воскресенье")

для (Икс в дней) {
если (х == "Суббота") {
следующий
}

распечатать (х)
}

Этот цикл будет выводить каждый будний день и воскресенье, но не в субботу.

Пример циклов в R

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

заказы 23.4, 699.8, 1042.0)
всего 0.0

для (заказ в заказы) {
итог }

кот("всего $", общий, "\п")

В этом примере сумма заказа из каждого отдельного заказа в списке будет добавлена ​​к общей сумме.

Кроме того, цикл for может помочь вам быстро и легко вывести большие объемы правильно отформатированных данных:

day_totals 567.82, 364.72, 762.81, 354.99, 622.87)

для (день в1: длина (дневные_суммы)) {
кот("День #", день, ": $", day_totals[день],"\п")
день 1
}

Вы можете использовать цикл for, чтобы распечатать каждый день недели и общий объем продаж за этот конкретный день.

Вы можете использовать цикл for для вычисления результатов и сделать их доступными для кода вне цикла for, чтобы получить различную информацию:

test_scores 67, 89, 72, 44)
оценка_общая 0
число_тестов 0

для (счет в результаты теста) {
score_total число_тестов 1
}

Average_score печать (средний_счет)

Приведенный выше цикл вычисляет средний балл, полученный учащимися за тест.

Все, что вам нужно знать о циклах R for

Очень важно научиться запускать заданное количество циклов или перебирать набор данных без фиксированной длины.

Если вам нужно выполнять повторяющиеся вычисления в массиве, печатать каждый элемент списка или отображать большой пакет данных в удобочитаемой форме, вам может помочь цикл R for.

Понимание основных принципов, лежащих в основе циклов for, — ценный навык, который нужно иметь в своем арсенале, и овладение им может помочь вам писать простой, легко читаемый код.