Як використовувати if-then-else у sas (з прикладами)


Ви можете використовувати оператор IF-THEN-ELSE у SAS, щоб повернути значення , якщо умова виконується, інакше повертати інше значення, якщо умова не відповідає дійсності.

Цей оператор використовує такий базовий синтаксис:

 if var1 > 30 then var2 = 'good';
else var2 = 'bad';

Ви також можете об’єднати декілька операторів ELSE IF , щоб повернути більше потенційних значень на основі кількох умов:

 if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';

У наведених нижче прикладах показано, як використовувати кожен із цих операторів на практиці з таким набором даних у SAS:

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32 
Mavs 35
Celtics 36
Celtics 40
;
run ;

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

Приклад 1: IF-THEN-ELSE у SAS

Ми можемо використати такий оператор IF-THEN-ELSE, щоб створити нову змінну під назвою rating , яка приймає значення «добре», якщо значення в стовпці балів перевищує 30, або значення «погано» в іншому випадку:

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

/*view new dataset*/
proc print data =new_data; 

Зауважте, що новий стовпець під назвою rating приймає значення «добре», якщо значення стовпця балів перевищує 30, або значення «погано» в іншому випадку.

Приклад 2: IF-THEN-ELSE IF у SAS

Ми можемо використати наступний оператор IF-THEN-ELSE IF, щоб створити нову змінну під назвою rating , яка приймає такі значення:

  • «супер», якщо балів більше 35
  • інакше «добре», якщо кількість балів перевищує 30
  • інакше «погано»

Наступний код показує, як це зробити:

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 35 then rating = 'great';
    else if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

/*view new dataset*/
proc print data =new_data; 

Новий стовпець під назвою рейтинг приймає значення «відмінно», «добре» або «погано» залежно від відповідного значення в стовпці балів .

Примітка . Не соромтеся використовувати скільки завгодно операторів ELSE IF , щоб повернути скільки завгодно різних значень на основі різних умов.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

Як використовувати IF-THEN-DO в SAS
Як видалити дублікати в SAS
Як замінити пропущені значення на нуль в SAS

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *