Как использовать оператор do while в sas
Вы можете использовать оператор DO WHILE в SAS для повторного выполнения цикла , пока условие остается истинным.
Следующие примеры показывают два разных способа использования этой инструкции на практике.
Пример 1: оператор DO WHILE в SAS
Следующий код показывает, как использовать оператор DO WHILE в SAS для создания набора данных, содержащего две переменные с именами var1 и var2 , которые продолжают генерировать новые значения , даже если значение var1 меньше 100:
/*create dataset using DO WHILE statement*/
data my_data;
var1 = 1;
var2 = 1;
dowhile (var1<100);
var1 = var1 + var2;
var2 = var1 * var2;
var1 + 1;
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
Оператор DO WHILE продолжал генерировать новые значения для var1 и var2 , хотя значение var1 было меньше 100.
Как только значение var1 превысило 100, оператор DO WHILE остановился и новые значения перестали добавляться в набор данных.
Пример 2: оператор DO WHILE с оператором TO в SAS
В следующем коде показано, как использовать оператор DO WHILE с оператором TO в SAS для создания набора данных, содержащего две переменные с именами var1 и var2 , которые продолжают генерировать новые значения , даже если значение var1 меньше 10:
/*create dataset using DO WHILE statement with TO statement*/
data my_data;
var1 = 0;
do var2 = 1 to 5 while (var1 < 10);
var1 = var2**3;
output ;
end ;
run ;
/*view dataset*/
proc print data =my_data;
Инструкция TO предписывала SAS попытаться сгенерировать значения для var2 в диапазоне от 1 до 5, но только тогда, когда значение var1 было меньше 10.
Как только значение var1 превысило 10, оператор DO WHILE остановился и новые значения перестали добавляться в набор данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать IF-THEN-DO в SAS
Как использовать IF-THEN-ELSE в SAS
Как удалить дубликаты в SAS