Як використовувати логіку if and у sas


Ви можете використовувати такий базовий синтаксис, щоб використовувати логіку IF AND у SAS:

 data new_data;
    set my_data;
    if team="Cavs" and points>20 then cavs_and_20 = 1;
    else cavs_and_20 = 0;
run ;

У цьому конкретному прикладі створюється новий набір даних зі стовпцем під назвою cavs_and_20 , який приймає такі значення:

  • 1 , якщо значення в колонці команди дорівнює «Cavs» і якщо значення в колонці очок більше 20.
  • 0 , якщо обидві умови не виконуються.

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як використовувати логіку IF AND у SAS

Припустімо, що в SAS є такий набір даних, який містить інформацію про різних баскетболістів:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Warriors 15
Cavs 26
Warriors 14
Celtics 36
Celtics 19
;
run ;

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

Припустімо, ми хочемо створити новий набір даних зі стовпцем, який приймає такі значення:

  • 1 , якщо значення в колонці команди дорівнює «Cavs» і якщо значення в колонці очок більше 20.
  • 0 , якщо обидві умови не виконуються.

Для цього ми можемо використати такий синтаксис:

 /*create new dataset*/
data new_data;
    set my_data;
    if team="Cavs" and points>20 then cavs_and_20 = 1;
    else cavs_and_20 = 0;
run ;

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

Новий стовпець під назвою cavs_and_20 використовує логіку IF AND для визначення того, чи повинен кожен рядок у наборі даних мати значення 0 чи 1 .

Ми бачимо, що є два рядки, у яких назва команди Cavs, а кількість балів перевищує 20.

Цим двом рядкам присвоєно значення 1 у новому стовпці cavs_and_20 .

Жоден інший рядок не відповідає обом умовам, тому всі інші рядки отримують значення 0 у стовпці cavs_and_20 .

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

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

Як перейменувати змінні в SAS
Як створити нові змінні в SAS
Як замінити символи в рядку в SAS

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

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