Як використовувати proc transpose у sas (з прикладами)
Ви можете використовувати PROC TRANSPOSE у SAS для швидкого перенесення набору даних із довгого формату в широкий формат .
Ця функція використовує такий базовий синтаксис:
proc transpose data =long_data out =wide_data;
by var1;
idvar2 ;
var var3;
run ;
золото:
- by : змінна для розміщення вздовж ліній
- id : змінна для розміщення вздовж стовпців
- var : змінна, значення якої розміщено в наборі даних
У наступному прикладі показано, як використовувати PROC TRANSPOSE на практиці.
Приклад: як використовувати PROC TRANSPOSE у SAS
Припустімо, що ми маємо такий набір даних у довгому форматі в SAS:
/*create dataset in long format*/
data long_data;
input team $variable $value;
datalines ;
A Points 88
A Assists 12
A Rebounds 22
B Points 91
B Assists 17
B Rebounds 28
C Points 99
C Assists 24
C Rebounds 30
D Points 94
D Assists 28
D Rebounds 31
;
run ;
/*view dataset*/
proc print data =long_data;
Ми можемо використовувати PROC TRANSPOSE для перетворення цього набору даних із довгого формату на широкий:
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data;
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
Зауважте, що цей набір даних містить ту саму інформацію, що й попередній набір даних, але він просто відображається в широкому форматі.
За замовчуванням SAS створює змінну _NAME_ , яка вказує, яка змінна використовується для значень у наборі даних.
Не соромтеся використовувати оператор DROP , щоб видалити цю змінну під час використання PROC TRANSPOSE :
/*create new dataset in wide format*/
proc transpose data =long_data out =wide_data( drop =_name_);
by team;
variableid ;
varvalue ;
run ;
/*view wide data*/
proc print data =wide_data;
Зверніть увагу, що змінну _NAME_ було видалено з набору даних.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як використовувати зведення процедур у SAS
Як використовувати Proc Tabulate у SAS
Як створити частотні таблиці в SAS