Вы можете использовать PROC TRANSPOSE в SAS для быстрого переноса набора данных из длинного формата в широкий формат .
Эта функция использует следующий базовый синтаксис:
proc transpose data =long_data out =wide_data;
by var1;
id var2;
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;
id variable;
var value;
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;
id variable;
var value;
run ;
/\*view wide data\*/
proc print data =wide_data;

Обратите внимание, что переменная _NAME_ была удалена из набора данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как создать частотные таблицы в SAS