proc转置中的最小变量数有限制吗? 我有如下数据。
group subgroups
A 1
A 2
A 3
B 1
B 2
我需要转置数据,所需的输出是
A B
1 1
2 2
3 .
请帮我解决你的建议。
谢谢, 拉维
答案 0 :(得分:2)
转置两次以获得你想要的东西;
data have;
input group $ subgroups;
cards;
A 1
A 2
A 3
B 1
B 2
;
proc transpose data=have out=temp;
by group;
run;
proc transpose data=temp out=want(drop=_name_);
id group;
run;
答案 1 :(得分:0)
为什么输出中的第一行有A = 1且B = 1?为什么在最后一次观察中B的缺失值?你想保留原始订单吗?如果是,则创建一个订单变量,并将其用作转置中的变量。
data middle ;
set have ;
by group ;
if first.group then row=0;
row+1;
run;
proc sort data=middle ;
by row group;
run;
proc transpose data=middle out=want ;
by row;
id group;
var subgroups;
run;