SAS中的转置数据集

SAS中的转置数据集,sas,transpose,Sas,Transpose,我想把一个简单的数据集换成左边,变成右边的数据集。它们都是数值变量。请也使变量名,因为我放在那里(我有很多变量,我想遵循这个模式),我宁愿不要手动重命名他们一个接一个,如果可能的话。谢谢大家! 这里有一个简单的方法。我添加了另一个id用于演示。如果愿意,可以重新排列列 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 dat

我想把一个简单的数据集换成左边,变成右边的数据集。它们都是数值变量。请也使变量名,因为我放在那里(我有很多变量,我想遵循这个模式),我宁愿不要手动重命名他们一个接一个,如果可能的话。谢谢大家!


这里有一个简单的方法。我添加了另一个id用于演示。如果愿意,可以重新排列列

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 

将数据值转换为列名可能会导致以后更复杂的编码——当通过
和处理原始结构变得更简单时,您可能会完成大量数组处理。非常感谢!