Як використовувати параметр in= у sas
Ви можете використовувати параметр IN= у SAS, щоб створити логічну змінну, яка вказує, чи походить поточне спостереження з вхідного набору даних.
Параметр IN= зазвичай використовується, коли ви додаєте два набори даних разом і хочете знати, чи окремий рядок у результуючому наборі даних походить з одного з конкретних вхідних наборів даних.
У наступному прикладі показано, як використовувати параметр IN= на практиці.
Приклад: як використовувати параметр IN= у SAS
Припустімо, що ми маємо два набори даних, що містять інформацію про баскетболістів у Східній і Західній конференціях НБА:
/*create East dataset*/
data east_data;
input team $points;
datalines ;
Celtics 22
Pistons 14
Nets 35
Hornets 19
Magic 22
;
run ;
/*create West dataset*/
data west_data;
input team $points;
datalines ;
Mavs 40
Rockets 39
Warriors 23
Lakers 19
Clippers 25
;
run ;
/*view datasets*/
proc print data =east_data;
proc print data =west_data;
Ми можемо використати такий синтаксис, щоб створити новий набір даних, який додає ці два набори даних:
/*create new dataset*/
data all_data;
set east_data west_data;
run ;
/*view new dataset*/
proc print data =all_data;
Зауважте, що кожен рядок у кожному наборі даних належить до нового набору даних.
Щоб дізнатися, з якого набору даних походить кожен рядок, ми можемо використати параметр IN= наступним чином:
/*create new dataset*/
data all_data;
set east_data west_data( in =i);
if i then conf='West';
else conf='East';
run ;
/*view new dataset*/
proc print data =all_data;
Використовуючи параметр IN= , ми можемо створити новий стовпець під назвою conf , який приймає значення «East», якщо рядок походить із набору даних під назвою east_data , і значення «West», якщо рядок походить із набору даних під назвою east_data. дані під назвою ouest_data .
Зауважте, що ми також можемо використовувати лише оператор IF без оператора ELSE , щоб створити новий стовпець, який просто приймає значення *, якщо рядок походить із набору даних під назвою east_data :
/*create new dataset*/
data all_data;
set east_data( in =i) west_data;
if i then east_conf='*';
run ;
/*view new dataset*/
proc print data =all_data;
Використовуючи параметр IN= , ми можемо створити новий стовпець під назвою east_conf , який приймає значення * , якщо рядок походить із набору даних під назвою east_data , і не має значення, якщо рядок походить із набору даних під назвою west_data .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як використовувати оператор NOT EQUAL у SAS
Як використовувати оператор «NOT IN» у SAS
Як об’єднати, якщо A не B у SAS