Циклы Do Loop, Do While и Do Until в SAS (с примерами)

SAS, управляемый командами инструмент статистического анализа и визуализации данных, является одним из наиболее широко используемых статистических программных инструментов в различных отраслях. Некоторые из его приложений включают разработку приложений, хранение данных, написание отчетов и управление данными. Он не зависит от платформы, то есть будет работать практически на любой операционной системе, включая Ubuntu, Mac OS, Windows, Linux и другие.

В этом уроке мы рассмотрим, как циклы используются в SAS для выполнения задач и операций программирования.

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

Что такое SAS-контур?

Циклы — это одна из самых простых концепций, которую должен знать каждый программист, будь то C, C++, Python или SAS. Циклы — это важнейшая функция любой программы, поскольку они позволяют нам выполнять вычисления и операции для заданного набора параметров необходимое количество раз.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

В SAS существуют различные типы циклов:

  • ДЕЛАТЬ ЦИКЛ
  • ДЕЛАЙТЕ ПОКА
  • ДЕЛАЙТЕ, ПОКА

Теперь давайте подробнее рассмотрим детали всех этих циклов.

Типы петель SAS

Как обсуждалось ранее, в SAS существует три типа циклов, а именно — DO LOOP, DO WHILE и DO UNTIL.

SAS Loops – DO LOOP

Синтаксис

Значение DO = от начала до конца

Пример

данные data_bin;

сделать i = от 1 до 4;

у = я**2;

выход;

конец;

бегать;

Выход

2, 5, 9, 16, 25

Цикл SAS завершается оператором END. Каждая итерация оператора DO увеличивает значение счетчика на единицу по умолчанию, но для увеличения счетчика на другие значения, включая нецелые значения, мы можем использовать опцию BY.

Например, каждая итерация следующего шага DATA увеличивает значение I на 0,3:

данные data_bin;

сделать i = от 1 до 5 на 0,3;

у = я**2;

выход;

конец;

бегать;

Выход

1, 2,25, 4, …, 16, 20,25, 25

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

Циклы SAS – ДЕЛАЙТЕ ПОКА

Мы можем итерировать, пока условие истинно, используя оператор DO с предложением WHILE. Поскольку условие проверяется перед каждой итерацией, нам нужно настроить условие остановки перед запуском цикла.

Следующий пример основан на примере шага DATA, итерация выполняется до тех пор, пока k меньше 20. Условие WHILE не выполняется, если j=4; поэтому цикл выполняется еще раз.

Синтаксис

DO <значение> while(<условие>)…end;

Пример

данные data_bin;

к = 0;

сделать j = 1 до 5 с шагом 0,5, пока (k < 20);

к = j**2;

выход;

конец;

бегать;

Выход

1, 2.25, 4, …, 16, 20.5

SAS Loops – ДЕЛАЙТЕ, ПОКА

Вы можете выполнять итерацию до тех пор, пока условие не станет истинным с предложением UNTIL вместе с оператором DO. Условие UNTIL не нужно инициализировать, поскольку оно оценивается ближе к концу цикла DO.

Поскольку условие оценивается ближе к концу цикла, цикл DO с предложением UNTIL всегда выполняется по крайней мере один раз. Чтобы этого не произошло, мы можем использовать цикл DO с предложением WHILE.

Синтаксис

Выполнять до тех пор, пока не наступит(<условие>)…конец;

Пример

данные carloan_until;

кредит = 30000;

платежи = 0;

делать до (кредит = 0);

кредит = кредит – 500;

платежи = платежи + 1;

конец;

бегать;

Выход

SAS_Loops_1

ДЕЛАЙ ПОКА VS ДЕЛАЙ ПОКА

Основное различие между DO WHILE и DO UNTIL обычно заключается в следующем:

  • Используя предложение WHILE, мы выполняем итерацию до тех пор, пока условие цикла DO выполняется.
  • Используя предложение UNTIL, мы выполняем итерацию до тех пор, пока не будет выполнено определенное условие.

Теперь давайте посмотрим, как можно объединить эти различные виды циклов DO в SAS, чтобы реализовать мощный цикл и получить максимальную отдачу от программы.

Станьте специалистом по обработке данных с помощью практического обучения!Программа магистратуры для специалистов по обработке данныхИзучить программуСтаньте специалистом по обработке данных с помощью практического обучения!

Объединение условных и итеративных циклов Do

Когда итеративный и условный циклы объединяются в единый цикл, мощность циклов DO в SAS умножается на некоторый коэффициент. Давайте рассмотрим наглядный пример ниже, чтобы лучше понять это.

Пример

Определить количество лет, необходимое для накопления 20 000 долларов в фонде колледжа.

В этом случае нам нужно знать, сколько денег нам нужно откладывать каждый месяц и сколько времени потребуется, чтобы накопить $20 000 на колледж. Среднестатистический человек рассчитывает поступить в колледж в возрасте 18 лет. Мы не будем рассматривать количество лет, которые превысят 18.

Учитывая, что на нашем сберегательном счете пока нет денег, начнем с установки значения «fund» в программе SAS на ноль. Для генерации выходных значений в валютном формате к переменной fund применяется формат dollar 8.2.

Поскольку мы не хотим, чтобы цикл длился дольше 18 лет, мы начинаем цикл DO, инициализируя индексную переменную «j» значением 1 и заканчивая после 18 лет. Нам нужно добавить условие «до», поскольку мы хотим сохранить только 20 000 долларов.

делать j = 1 до 18 до (фонд >= 20000);

SAS управляет циклом до тех пор, пока не пройдет 18 лет или пока фонд не превысит 20 000 долларов, в зависимости от того, что наступит раньше.

Нам нужно откладывать $1000 каждый год на сберегательный счет с годовой процентной ставкой 1%. Чтобы учесть это, с каждой итерацией значение “фонда” увеличивается на 1000, а затем умножается на 1,01, чтобы добавить 1% к значению фонда в процентах. Можно легко отследить, сколько лет потребуется, чтобы достичь $20 000, установив переменную “Годы” равной индексной переменной i.

данные колледжа_фонд;

фонд = 0;

формат фонда доллар8.2;

делать j = 1 до 18 до (фонд >= 20000);

фонд = (фонд + 1000) * 1,01;

лет = j;

выход;

конец;

капля j;

бегать;

Как видно из результата ниже, откладывая по 1000 долларов США каждый год на сберегательный счет, приносящий доход в 1% в год, мы получим чуть меньше 20 000 долларов США через 18 лет:

SAS_Loops_2

Мы можем заметить другой результат, если изменим сумму годового депозита на 1200:

данные data_bin;

фонд = 0;

формат фонда доллар8.2;

делать j = 1 до 18 до (фонд >= 20000);

фонд = (фонд + 1200) * 1,01;

лет = j;

выход;

конец;

капля j;

бегать;

Теперь выполнение цикла прекращается после 16 итераций, как видно из измененного набора данных ниже, поскольку 16 лет оказалось достаточно для того, чтобы образовательный фонд превысил порог в 20 000 долларов США.

SAS_Loops_3

  1. Наборы данных SAS
  2. Руководство по макросам SAS
  3. SAS-массивы
  4. Линейная регрессия SAS
  5. Гистограмма SAS

Воспользуйтесь преимуществами лучшей в мире программы по науке о данных, чтобы освоить SAS

В этой статье мы рассмотрели циклы в SAS и то, как каждый цикл может использоваться при выполнении различных типов программ. Обычно в SAS есть три типа циклов – DO LOOP, DO WHILE и DO UNTIL.

Мы используем различные циклы в разных контекстах в соответствии с нашим использованием. Мы используем циклы DO с предложением WHILE, когда хотим, чтобы цикл выполнялся до тех пор, пока условие выполняется, но с UNTIL, когда хотим, чтобы цикл выполнялся до тех пор, пока условие выполняется. Мощность всех трех циклов также может быть объединена для реализации лучшего и более мощного цикла в программе, которую мы видели в программе финансирования колледжа.

В SAS есть еще больше таких концепций, которые требуют изучения и освоения, чтобы стать лучшим профессионалом в различных ролях, связанных с наукой о данных. Simplilearn предлагает комплексный учебный лагерь по науке о данных для таких энтузиастов, чтобы они могли учиться, исследовать и быть лучше подготовленными к SAS и науке о данных. Так чего же вы ждете? Ознакомьтесь с нашим курсом, созданным экспертами, прямо сейчас!

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *