march
现有数据4行5列,想用array做一下转置变成5行4列。可是现在出来的是一长列,怎么改?另如果用2维array怎么做转置?谢谢。
data many_dx;
input id dx1-dx5;
datalines;
01 647 641 650 428 978
02 428 416 458 356 639
03 642 674 648 612 728
04 641 416 648 647 641
;
data dx;
set many_dx;
array dx(5);
do j=1 to 2;
dy=dx(j);
output;
end;
keep dy;
run;
proc print data=dx;
run;
march
修改了一下。将循环由2改至5。请指教怎么用array做矩阵转置。谢谢!
data many_dx;
input id dx1-dx5;
datalines;
01 647 641 650 428 978
02 428 416 458 356 639
03 642 674 648 612 728
04 641 416 648 647 641
;
data dx;
set many_dx;
array dx(5);
do j=1 to 5;
dy=dx(j);
output;
end;
keep dy;
run;
proc print data=dx;
run;
yulingq
data many_dx;
input id dx1-dx5;
datalines;
01 647 641 650 428 978
02 428 416 458 356 639
03 642 674 648 612 728
04 641 416 648 647 641
;
data dx;
set many_dx;
keep dx1-dx5 ;
run;
proc transpose data=dx out=dy prefix=tr ;
var dx1-dx5;
run;
用array作转置,我只能说抱歉!