Как использовать 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