如何在 sas 中使用 proc transpose(附示例)
您可以使用 SAS 中的PROC TRANSPOSE将数据集从长格式快速转置为宽格式。
该函数使用以下基本语法:
proc transpose data =long_data out =wide_data;
by var1;
idvar2 ;
var var3;
run ;
金子:
- by :沿线放置的变量
- id :沿列放置的变量
- var :其值放置在数据集中的变量
以下示例展示了如何在实践中使用PROC TRANSPOSE 。
示例:如何在 SAS 中使用 PROC TRANSPOSE
假设我们有以下 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_变量,指示哪个变量用于数据集中的值。
使用PROC TRANSPOSE时,可以随意使用DROP语句删除此变量:
/*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 中执行其他常见任务: