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