Как использовать оператор do until в sas


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

Следующие примеры показывают два разных способа использования этой инструкции на практике.

Пример 1: оператор DO UNTIL в SAS

Следующий код показывает, как использовать оператор DO UNTIL в SAS для создания набора данных, содержащего две переменные с именами var1 и var2 , которые продолжают генерировать новые значения до тех пор, пока значение var1 не станет больше 100:

 /*create dataset using DO UNTIL statement*/
data my_data;

var1 = 1;
var2 = 1;

do until (var1 > 100);
    var1 = var1 + var2; 
    var2 = var1 * var2;
    var1 + 1;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

Оператор DO UNTIL продолжал генерировать новые значения для var1 и var2 , пока значение var1 не стало больше 100.

Как только значение var1 превысило 100, оператор DO UNTIL остановился и новые значения перестали добавляться в набор данных.

Пример 2: оператор DO UNTIL с оператором TO в SAS

В следующем коде показано, как использовать оператор DO UNTIL с оператором TO в SAS для создания набора данных, содержащего две переменные с именами var1 и var2 , которые продолжают генерировать новые значения до тех пор, пока значение var1 не станет больше 10:

 /*create dataset using DO UNTIL statement with TO statement*/
data my_data;

var1 = 0; 

do var2 = 1 to 5 until (var1 > 10);   
    var1 = var2**2;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

Инструкция TO предписывала SAS попытаться сгенерировать значения для var2 в диапазоне от 1 до 5, но только до тех пор, пока значение var1 не станет больше 10.

Как только значение var1 превысило 10, оператор DO UNTIL остановился и новые значения перестали добавляться в набор данных.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как использовать IF-THEN-DO в SAS
Как использовать IF-THEN-ELSE в SAS
Как использовать оператор DO WHILE в SAS

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

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