在 SAS 中转置数据集

Transpose dataset in SAS

我想将左边的一个简单数据集转置为右边的数据集。它们都是数值变量。也请按照我放在那里的方式命名变量(我有很多变量我想遵循这种模式),如果可能的话,我不想手动重命名它们。谢谢!

这是一个简单的方法。我添加了另一个 id 用于演示。如果您愿意,可以 re-arrange 列。

data have;
input id Vistime v1 v2;
datalines;
1 1 2 5
1 2 3 6
1 3 4 7
2 1 2 5
2 2 3 6
2 3 4 7
;

proc transpose data=have out=temp;
   by id Vistime;
   var v1 v2;
run;

proc transpose data=temp delim=_ out=want(drop=_:);
   by id;
   var col1;
   id _name_ Vistime;
run; 

结果

id v1_1 v2_1 v1_2 v2_2 v1_3 v2_3 
1  2    5    3    6    4    7 
2  2    5    3    6    4    7